Java 6:不支持的@SuppressWarnings(“rawtypes”)警告

时间:2010-09-05 16:19:03

标签: java compiler-construction warnings suppress-warnings raw-types

我搬到了一台新机器,它有最新的Sun Java编译器,并注意到现有Java 6代码中的一些警告。 Eclipse IDE建议我使用以下命令注释赋值:

@SuppressWarnings("rawtypes")

例如:

class Foo<T> {
...
}
...
@SuppressWarnings("rawtypes")
Foo foo = new Foo();

当我使用较旧的编译器(JDK 1.6.0_20)移回机器时,我注意到这个较旧的编译器现在警告抑制“rawtypes”警告,声称这种抑制不受支持并建议更换它与@SuppressWarnings(“未选中”)。此外,默认情况下,有些地方最新的编译器让我把“未经检查”和“原型”放在一起 - 用旧的编译器编译代码会再现相同的警告。

如何在两者之间强制执行向后/向前兼容性,以便两个编译器都不会产生警告?

2 个答案:

答案 0 :(得分:43)

答案 1 :(得分:4)

请注意,Eclipse 3.5不了解rawtypes并标记警告以切换到未选中状态。令人沮丧的是,Eclipse提出了rawtypes注释,它导致的问题多于解决问题。他们应该坚持使用标准的。