为什么 Class<?> 比 Class 更受优
如果我将类声明为字段:
Class fooClass;
Eclipse给了我警告:
类是原始类型。对泛型类型类的引用应参数化
这在实践中意味着什么?为什么敦促我这样做?如果我要求Eclipse进行“快速修复”,它会给我:
Class<?> fooClass;
这似乎并没有增加太多价值,但不再发出警告。
编辑:为什么类是通用的?你能举一个参数化的例子,即是否可以有效地使用其他东西?<?>
编辑:哇!我没有意识到这其中的深度。我也看过Java Puzzler,它肯定让我害怕熊陷阱。所以我会一直使用
Class<MyString> myStringClass = MyString.class;
而不是
Class myStringClass = MyString.class;
(但是从第一天开始使用Java,我并没有真正注意到Class何时成为通用的);
注意:我已经接受了@oxbow_lakes,因为这对我来说是有道理的,但这显然是一个非常复杂的领域。我会敦促所有程序员使用特定的而不是.并且比 安全得多。Class<MyString>
Class
Class<?>
Class