关于java:“< T > void someMethod()”中的“< T >”是什么意思?

What does '< T >' mean in “< T > void someMethod()”?


< T >< T > void someMethod()中的含义是什么? 这个函数有什么返回类型?



不是返回类型,void是。 在这种情况下,表示仅在此方法中使用的类型变量。 例如,如果我写这个:

1
2
3
<T> T getFirstValue(List<T> list) {
    return list.get(0);
}


这意味着如果我给包含某些特定类型的对象的列表,它将返回这种确切类型的对象。 例如,如果我给它一个List,我知道我会得到一个String。 编译器猜测T实际上是String,因此该方法将充当

1
2
3
String getFirstValue(List<String> list) {
    return list.get(0);
}



其中T是java中的普通通用对象表示。

The type parameter section, delimited by angle brackets (<>), follows the class name. It specifies the type parameters (also called type variables) T1, T2, ..., and Tn.


定义方法

The return type—the data type of the value returned by the method, or void if the method does not return a value.



这里,T是通用参数。 请参阅教程。


返回类型是void,因为方法的签名是void someMethod()



< T > void someMethod()中,泛型声明没有函数,因为在someMethod的其余签名的任何其他部分中都没有引用T. 在这种情况下,它意味着什么,可以删除。


返回类型为void。