Rei*_*eus 13
Class<?>是指一类未知类型.该表示法使用无界泛型,它对可添加到Collection的类的类型没有限制.例如,以下内容不起作用
Set<Class<String>> set = new HashSet<Class<String>>();
set.add(Adages.class); // type not allowed
Run Code Online (Sandbox Code Playgroud)
Class是一个可参数化的类,因此您可以使用T是类型的语法Class.通过编写Class,您将声明一个可以是任何类型的Class对象(?是通配符).类类型是包含有关类的元信息的类型.
通过指定他的特定类型来引用泛型类型总是很好的做法,通过使用Class你尊重这种做法(你知道Class可以参数化),但是你并没有限制你的参数具有特定的类型.
关于泛型和通配符的参考:http://docs.oracle.com/javase/tutorial/java/generics/wildcards.html
关于Class对象和反射的引用(用于内省自身的Java语言的特性):http://java.sun.com/developer/technicalArticles/ALT/Reflection/
它指的是gererics.我建议你读一点.基本上,您只知道在运行时使用哪种类型的对象.例如,Class可以是Integer,String甚至是YourDefinedClassType,
在这里阅读http://java.sun.com/developer/technicalArticles/J2SE/generics/
| 归档时间: |
|
| 查看次数: |
845 次 |
| 最近记录: |