什么'< T>'意思是“< T> void someMethod()”?

时间:2013-06-29 19:38:11

标签: java

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

4 个答案:

答案 0 :(得分:5)

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

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

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

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:3)

其中T是正常generic object representation in java

  

由尖括号(&lt;&gt;)分隔的类型参数部分跟在类名后面。它指定类型参数(也称为类型变量)T1,T2,...和Tn。

Defining Methods

  

返回类型 - 方法返回的值的数据类型,如果方法未返回值,则返回void。

答案 3 :(得分:2)

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

返回类型无效。