Код: Выделить всё
public Iterator iterator();
public Iterator iterator();
< /code>
Пример 2 < /p>
public E get(int location);
public String get(int location);
< /code>
Пример 3 (вот что я не понимаю) < /p>
public static List asList(T... array) {
return new ArrayList(array);
}
public static List asList(String... array) {
return new ArrayList(array);
}
[modifiers] [return type] [¿What is this?] [type param]
public static List asList(String... array) {
v[type param for returned ArrayList]
return new ArrayList(array);
}
< /code>
Пример 4 (то же самое, что пример 3) < /p>
public T[] toArray(T[] array);
[modifier] [return type] [what is this?] [param type]
public String[] toArray(String[] array);
< /code>
¿Это тип возврата? < /p>
List
< /code>
Я прочитал форум, но я не нахожу некоторых, которые объясняют это. Все ответы являются объяснениями того, как его использовать, но я знаю, как его использовать. < /P>
Заранее! < /P>
====================================== Тест: < /p>
import java.util.List;
public class ClassTest {
public static void main(String[] args) {
ClassTest.testClass(new String[]{"1","2","3"});
}
public static List testClass(String[] array){
System.out.println("** public static List testClass(String[] array){");
return null;
}
public static List testClass(String[] array){
System.out.println("** public static List testClass(String[] array){");
return null;
}
}
< /code>
Если я выполняю тест, у меня есть этот трассировка: < /p>
** public static List testClass(String[] array){
< /code>
Если я удалю второй метод, у меня есть этот трасса: < /p>
** public static List testClass(String[] array){
< /code>
В обоих случаях это работает. < /p>
Может быть, не тот, что мой первый вопрос, но я так думаю.
< /code>
В первом компиляторе метода говорится, что метод повторяется. < /p>
Я не могу оценить ваш ответ. < /p>
================================================== Есть новая информация ... в Oracle Doc существует:
https://docs.oracle.com/javase/tutorial/java/generics/methods.html
https://docs.oracle.com/javase/tutorial/java/generics/gentypeinference.html
Точно, что я спрашиваю, называется тип вывод (я не знаю, в настоящее время ...) Связано с «общими методами». Вернутся, когда я прочитал его. < /p>
Спасибо за все! =================================================================================public class Box
< /code>
Тот же способ сделать это методом, как это: < /p>
public void test()
< /code>
Разное между этим - это место «Параметр типа», но в целом это то же самое.public class Box {
private T variable;
....
public void test(){
U variable = null;
...
< /code>
Одна вещь, которая смутила меня, заключается в том, что я никогда не использовал параметризованный метод, только как это: < /p>
public class Box {
private T variable;
public void test(T variable){
...
< /code>
Таким образом, мне никогда не нужно было использовать методом. < /p>
Теперь что -то более сложное. Я не понимаю, почему этот код ниже работает. Я знаю очень странный пример, но я не вижу его. < /P>
public class TestBox {
public static void main(String[] args) {
TestBox xb = new TestBox();
}
public static
void get(TestBox u){
}
}
< /code>
Эти слова, каждый раз ... ¿¿предложения ?? У меня нет какого -либо класса «Майк» или «Питер»
< /code>
System.out.println("** public void testClass(String[] array){");
}
public void testClass(String[] array){
System.out.println("** public void testClass(String[] array){");
}
< /code>
Why if I change in the first Method the word String for Integer, I have error...?
Integer is "WhatEverIWant"
public void testClass(String[] array){
System.out.println("** public void testClass(String[] array){");
}
< /code>
And Why if I change the parameter String[] for Integer[], it works again?
public void testClass(Integer[] array){
System.out.println("** public void testClass(String[] array){");
}
< /code>
I think is ilogical, respect before comments, Ufff...
Подробнее здесь: https://stackoverflow.com/questions/362 ... rayt-array