与所有通用类型和原始类型相同:
Class // An unknown class (raw type)Class<?> // An unknown class (generic version)Class<String> // The String class
在这种特殊情况下,
Class和之间没有太大的实际区别,
Class<?>因为它们都表示未知的类。根据现有的声明,编译器可以要求使用通用类型而不是原始类型。
但是: 从Java
1.5开始,您应该尽可能使用通用形式。
Class<?>明确指出您的意思是“未知的班级”,
Class<String>明确指出您的意思是该
String班级。原始
Class可能意味着
两者 。
最后,它对编译器没有太大的影响,但是在使代码的意图更易于理解和可维护方面却产生了巨大的不同。



