#java #generics #javadoc
#java #дженерики #Javadoc
Вопрос:
Я все еще обдумываю дженерики, поэтому буду признателен за помощь.
Комментарии:
1. Можете ли вы привести по одному примеру каждого из них в JDK или в сторонней библиотеке?
Ответ №1:
В обоих случаях возвращаемый тип равен T
.
Если вы видите <T>
раньше, это означает, что общий тип T
был определен на уровне метода:
<T extends JustAnExample> T getThatThing() {
// ...
}
Если нет, то, вероятно, это было определено на уровне класса:
class MyClass<T extends JustAnExample> {
T getThatThing() {
// ...
}
}
Или технически это может быть просто класс с именем T
, хотя эти однобуквенные типы обычно относятся к обобщенным (чисто условно):
class MyClass {
T poorlyNamedTypeYuck() {
// ...
}
}
Обратите внимание, что вам не обязательно использовать T
в качестве возвращаемого типа:
<T> void thisIsAlsoValid(T genericUsedHere, List<T> orElseWhere) {
// ...
}