jty*_*ler 5 java annotations compiler-warnings
我目前有一个Enum,它有一个构造函数,可以取null并包含以下SuppressWarning批注:
@SuppressWarnings("all")
public enum TheEnum {
...
AN_ENUM_VALUE(null),
...
...
private TheEnum(TheEnum ... args) {
if (args != null){
...
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
我目前正在使用MyEclipse工作台10.6,它似乎很好地拿起了注释.但是,在开发机器上进行编译时,我会收到与'TheEnum'类相关的警告.
奇怪的是,在项目中,整个地方都有@SuppressWarnings("unchecked"),编译器设法选择这些并忽略它们就好了.
由于遗留问题,我们必须使用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
Run Code Online (Sandbox Code Playgroud)
关于我应该看看为什么"全部"被忽略的任何建议?
Ano*_*sse -2
首先不要使用它。
@SuppressWarnings("all")
Run Code Online (Sandbox Code Playgroud)
说,你做错了什么。我会尽快取消与任何开发此类代码的开发人员的合同。警告的存在是有原因的,而一揽子忽略则表明“我不在乎我的代码是否真的有效”,就像其他任何事情一样。这与编写单元测试完全相反:全面禁用编译器检查。
从http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/javac.html#options来看,“all”可能是一个eclipse扩展。Sun/Oracle Java 6编译器可能仅支持以下值:unchecked、path、serial、finally和fallthrough。deprecation
| 归档时间: |
|
| 查看次数: |
3598 次 |
| 最近记录: |