JavaDocs中的“<T> T”和"T" return类型有什么区别
What is the difference between "<T> T" and "T" return types in JavaDocs
我仍然在思考泛型问题,因此我们将不胜感激。
在这两种情况下,return 类型都是 T
。
如果你之前看到<T>
,这意味着泛型T
已经在方法级别定义:
<T extends JustAnExample> T getThatThing() {
// ...
}
如果没有,那么它可能已经定义在class级别:
class MyClass<T extends JustAnExample> {
T getThatThing() {
// ...
}
}
或者,它在技术上也可以简单地是一个名为 T
的 class,尽管那些 single-letter 类型通常指的是泛型(完全按照约定):
class MyClass {
T poorlyNamedTypeYuck() {
// ...
}
}
请注意,您不必使用 T
作为 return 类型:
<T> void thisIsAlsoValid(T genericUsedHere, List<T> orElseWhere) {
// ...
}
我仍然在思考泛型问题,因此我们将不胜感激。
在这两种情况下,return 类型都是 T
。
如果你之前看到<T>
,这意味着泛型T
已经在方法级别定义:
<T extends JustAnExample> T getThatThing() {
// ...
}
如果没有,那么它可能已经定义在class级别:
class MyClass<T extends JustAnExample> {
T getThatThing() {
// ...
}
}
或者,它在技术上也可以简单地是一个名为 T
的 class,尽管那些 single-letter 类型通常指的是泛型(完全按照约定):
class MyClass {
T poorlyNamedTypeYuck() {
// ...
}
}
请注意,您不必使用 T
作为 return 类型:
<T> void thisIsAlsoValid(T genericUsedHere, List<T> orElseWhere) {
// ...
}