java.lang.T:找不到这种类型

时间:2015-02-17 13:54:16

标签: java generics javadoc

我在类java.util.Arrays中的方法 asList()上空盘旋,当我突然徘徊在下面时(如屏幕截图所示)

enter image description here

javadoc显示类型 java.util.T扩展java.lang.Object 但我在java.util中找不到T的类定义。这里发生了什么事? 请原谅我,如果我问一个愚蠢的问题(如果是,我会删除它)。现在我很困惑。

3 个答案:

答案 0 :(得分:2)

T是泛型类型参数。没有这样的课程java.util.T

顺便说一句,当我在Eclipse T上的asList(T... a)上方悬停时,显示org.apache.poi.ss.formula.functions.T。这毫无意义。我想这是IDE中的一个错误。

答案 1 :(得分:1)

T是泛型参数的别名,它具有方法范围(即在方法的上下文中有效)。

在编译过程中,此T将被替换并具有特定类型。

例如,如果您执行以下操作:

List<String> list = Arrays.asList("hello", "world");

T将替换为String

此功能为您编写的代码提供灵活性,并且减轻我们使用不同/不兼容的参数类型的重载方法的负担。< / p>

更多信息:

答案 2 :(得分:1)

T extends Object不是Class,它是Generic。看看Java Generics