具体类作为通用参数

问题描述

| 这些定义之间有什么区别吗?
 public class Foo<String> {}
 public class Foo{}
更新 第一个可以实际使用吗?     

解决方法

        是的,第一个等效于
Foo<T>
,但类型参数名为
String
(不是
java.lang.String
)而不是
T
。因此,您实际上并没有使用具体的类作为类型参数(这是不合法的……尝试将声明更改为
class Foo<java.lang.String>
)。