/ / Java Generics Връщане Тип Синтаксис [дубликат] - java, списък, генерични

Java Generics Връщане Тип Синтаксис [дубликат] - java, списък, генерични

Опитвам се да науча как да кодирам метод за връщане на списък с обекти от неизвестен тип. Наблюдавах този пример:

public <T> List<T> list(Class<T> c, List<Object> objectList){
List<T> list = new ArrayList<>();
for (Object o : objectList){
T t = c.cast(o);
list.add(t);
}
return list;
}

Защо е връщащият тип <T> List<T> вместо просто List<T>?

Отговори:

3 за отговор № 1

Това е така, защото вашият list метод има собствен аргумент от общ тип. <T> въвежда този тип:

<T> List<T> list(Class<T> c, List<Object> objectList)
^       ^             ^
|       +-------------+----- Use generic type
+--------------------------- Introduce generic type argument for use in the method

Първоначалната <T> не се изисква, когато генеричните методи използват типови аргументи на своя затворен клас.


4 за отговор № 2

Това е не типа връщане:

public <T> List<T>

Това просто означава: Т е общ параметър просто за този един метод!

Можете да поставите типови параметри на a клас или само на методи. Вие виждате - когато всичките ви други методи се нуждаят от общ тип ... тогава може да го използвате само за един такъв метод.

виждам тук за по-нататъшно четене!


0 за отговор № 3

<T> не е вид връщане.Той определя типа на този общ метод.Изглежда в списъка на параметрите също намирате клас с общ тип информация


0 за отговор № 4

Типът връщане IS List<T>.

<T> е "шаблон" / обща декларация: където декларирате генеричните си типове. Не мисля, че това е действителна част от типа на резултата (може да е грешно в това).