What does Class> mean in Java?
我的问题如上。 对不起,它可能是重复但我找不到最后的
为什么不只使用
通过指定他的特定类型来引用泛型类型总是很好的做法,使用
关于泛型和通配符的参考:http://docs.oracle.com/javase/tutorial/java/generics/wildcards.html
关于
这个
与
但是 - 如果我们开始将它与集合一起使用,那么我们会看到奇怪的编译时错误:
1 2 | List<?> list = new ArrayList<Object>(); // ArrayList<?> is not allowed list.add("a String"); // doesn't compile ... |
我们的
这意味着您的Class引用可以包含对任何Class对象的引用。
它与"类"基本相同,但是你向其他人展示了你没有忘记泛型的代码,你只需要一个可以容纳任何Class对象的引用。
Bruce Eckel,Thinking in Java:
In Java SE5, Class> is preferred over plain Class, even though they
are equivalent and the plain Class, as you saw, doesn’t produce a
compiler warning. The benefit of Class> is that it
indicates that you aren’t just using a non-specific class reference by
accident, or out of ignorance. You chose the non-specific version.
这是一个泛型文字。这意味着您不知道此
-
如果你知道这门课程,你可以使用
Class 。这样您就可以创建一个新实例,例如,不需要强制转换:Foo foo = clazz.newInstance(); - 如果你根本不使用泛型,你至少会得到一个警告(并且通常不鼓励使用泛型,因为它可能会导致难以察觉的副作用)
在泛型中,未知类型由通配符"?"表示。在这里阅读官方示例。
这意味着具有任何类型(未知)的类。
您应该阅读java泛型教程以更好地理解它