Class fooClass;
Eclipse给出了以下警告:
类是一个原始类型。对泛型类型Class的引用应该被参数化
这在实践中意味着什么?为什么我要这么做?如果我请求Eclipse提供“快速修复”,它会给我:
Class<?> fooClass;
这似乎没有增加太多价值,但不再会出现警告。
编辑:为什么类是泛型的?您能否举一个参数化的示例,即除了 <?>
之外还有其他有效用途吗?
编辑:哇!我没有意识到其中的深度。我也看过Java难题,它确实让我对陷阱感到害怕。所以我将永远使用
Class<MyString> myStringClass = MyString.class;
相比之下
Class myStringClass = MyString.class;
(但是从一开始就使用Java,当Class变成泛型时我并没有真正注意到);
注意:我接受了@oxbow_lakes的意见,因为这对我很有意义,但显然这是一个非常复杂的领域。我敦促所有程序员使用特定的Class<MyString>
而不是Class
。而Class<?>
比Class
更安全。
Class
。当您使用任何原始类型(例如List
)时,就会发生这种情况。 - Mark Peters