如何抑制此警告:
LinkedList is a raw type. References to generic type LinkedList<E> should be parameterized
这不起作用:
@SuppressWarnings("unchecked")
如何抑制此警告:
LinkedList is a raw type. References to generic type LinkedList<E> should be parameterized
这不起作用:
@SuppressWarnings("unchecked")
@SuppressWarnings("rawtypes") 是用于抑制这种情况的注释。
如果您不使用遗留代码,尽管您最好参数化。
根据您使用的 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
如果您使用的是 eclipse,请将鼠标悬停在文本上(可能是黄色下划线)并执行 ctrl+1 以查找可用于解决问题的选项。
但是您应该始终参数化您的列表。
如果您不想参数化,请使用
@SuppressWarnings("rawtypes")