我开始研究Java-泛型。我对泛型语法及其含义有一些误解。如果我的问题显得过于琐碎,我恳请谅解。
这些情况下的区别是什么?
我的猜测对不对?特别是第二例和第三例的使用有什么区别?
谢谢您的解释!
发布于 2012-12-27 06:00:07
区别在于不能在泛型类声明中使用?
public class MyClass<? extends SomeClass> {} // this isn't valid
上述声明将导致编译器错误。
泛型类的定义格式如下: 类名{ /* . */ }由尖括号(<>)分隔的类型参数部分在类名后面。它指定类型参数(也称为类型变量) T1、T2、.和Tn。
public class MyClass<C extends SomeClass> {}
在这个声明中,C
是一个类型参数,它可以是SomeClass类型,也可以是它的任何子类。
示例:
Class SomeOtherClass extends SomeClass {
}
MyClass clazz = new MyClass<SomeOtherClass>();
MyClass clazz = new MyClass<SomeClass>();
https://stackoverflow.com/questions/14055761
复制