1

如何抑制此警告:

LinkedList is a raw type. References to generic type LinkedList<E> 
should be parameterized

这不起作用:

@SuppressWarnings("unchecked")
4

3 回答 3

4

@SuppressWarnings("rawtypes") 是用于抑制这种情况的注释。

如果您不使用遗留代码,尽管您最好参数化。

于 2013-04-10T18:35:24.757 回答
0

根据您使用的 java 版本,听起来您需要更改链表实例化。

原始类型。

当源代码被编译用于在 Java 5.0 之前开发的 Java 5.0 并使用 Java 5.0 中的通用类时,“未经检查”的警告是不可避免的。例如,如果“遗留”代码使用诸如 List 之类的类型,它在 Java 5.0 之前曾经是常规(非泛型)类型,但在 Java 5.0 中是泛型的,那么 List 的所有这些使用都被认为是原始类型的使用Java 5.0。使用原始类型将导致“未经检查”的警告。如果要消除“未检查”警告,则必须重新设计“遗留”代码,并将 List 的所有原始使用替换为 List 的适当实例,例如 List 、 List 、 List 等。所有“未检查”警告都可以消除这边走。

在为 Java 5.0 开发的源代码中,您可以通过从不使用原始类型来防止“未经检查”的警告。使用泛型类型时始终提供类型参数。没有强制使用原始类型的情况。如有疑问,当您觉得您不知道哪种类型参数合适时,请尝试使用无界通配符“?”。

从本质上讲,如果您可以访问遗留代码并愿意对其进行重新设计,则可以消除由于使用原始类型而导致的“未经检查”的警告。

http://www.angelikalanger.com/GenericsFAQ/FAQSections/TechnicalDetails.html#FAQ001

于 2013-04-10T18:40:41.863 回答
0

如果您使用的是 eclipse,请将鼠标悬停在文本上(可能是黄色下划线)并执行 ctrl+1 以查找可用于解决问题的选项。

但是您应该始终参数化您的列表。

如果您不想参数化,请使用

@SuppressWarnings("rawtypes")
于 2013-04-10T18:38:18.107 回答