我目前有一个Enum,它的构造函数可以取空,包含以下SuppressWarning注释:
@SuppressWarnings("all")
public enum TheEnum {
...
AN_ENUM_VALUE(null),
...
...
private TheEnum(TheEnum ... args) {
if (args != null){
...
...
}
...
}我目前正在使用MyEclipse工作台10.6,它似乎很好地获得了注释。然而,在对dev机器进行编译时,我会收到与'TheEnum‘类相关的警告。
奇怪的是,在这个项目中,到处都是@SuppressWarnings(“未检查的”),编译器设法把它们捡起来,然后忽略它们。
由于遗留问题,我们必须使用JDK 1.5.0_17进行编译,但看起来应该使用“所有”抑制:
[root@xxx]:/opt/jdk1.5.0_17/bin# ./javac -X
...
-Xlint:{all,deprecation,unchecked,fallthrough,path,serial,finally,-deprecation,- unchecked,-fallthrough,-path,-serial,-finally}Enable or disable specific warnings对于我应该在哪里寻找为什么“一切”被忽略的建议,有什么建议吗?
发布于 2012-12-05 19:00:08
一开始不要用它。
@SuppressWarnings("all")说,,你做错什么了,。我会尽快取消与任何开发人员开发这样的代码的合同。警告的存在是有原因的,一个忽略的毯子说“我不在乎我的代码是否真的工作”,就像没有其他东西一样。这与编写单元测试完全相反:屏蔽禁用编译器检查。
从http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/javac.html#options判断,"all“可能是eclipse扩展。Sun/Oracle 6编译器可能只支持以下值:unchecked、path、serial、finally、fallthrough和deprecation。
https://stackoverflow.com/questions/13729840
复制相似问题