我在类java.util.Arrays中的方法 asList()上空盘旋,当我突然徘徊在下面时(如屏幕截图所示)
javadoc显示类型 java.util.T扩展java.lang.Object 但我在java.util中找不到T的类定义。这里发生了什么事? 请原谅我,如果我问一个愚蠢的问题(如果是,我会删除它)。现在我很困惑。
答案 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