如何禁止编译器警告?

时间:2013-04-10 18:29:55

标签: java warnings suppress-warnings

如何取消此警告:

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

这不起作用:

@SuppressWarnings("unchecked")

3 个答案:

答案 0 :(得分:4)

@SuppressWarnings(“rawtypes”)是用于抑制此内容的注释。

虽然你最好不要参数化,但如果你不使用遗留代码。

答案 1 :(得分:0)

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

但是你应该总是参数化你的名单。

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

@SuppressWarnings("rawtypes")

答案 2 :(得分:0)

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

  

原始类型。

     

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

     

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

     

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

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