问题描述
|
这些定义之间有什么区别吗?
public class Foo<String> {}
public class Foo{}
更新
第一个可以实际使用吗?
解决方法
是的,第一个等效于
Foo<T>
,但类型参数名为String
(不是java.lang.String
)而不是T
。因此,您实际上并没有使用具体的类作为类型参数(这是不合法的……尝试将声明更改为class Foo<java.lang.String>
)。