我使用class for detecting email addresses使用静态最终布尔值来配置匹配行为。自从我升级到Eclipse 3.5后,我收到有关死代码的警告,因为Eclipse注意到无法访问其中的一个分支:
private static final boolean ALLOW_DOMAIN_LITERALS = false;
private static final String domain = ALLOW_DOMAIN_LITERALS ? rfc2822Domain : rfc1035DomainName;
奇怪的是,它很满意:
private static final String domain;
static {
if(ALLOW_DOMAIN_LITERALS) {
domain = rfc2822Domain;
} else {
domain= rfc1035DomainName;
}
}
因为它似乎认识到了常见的if(DEBUG)
模式,但三元运算符似乎并不算数。
因为我宁愿不过分太多只是为了让Eclipse保持开心,所以我更喜欢在顶部放置@SuppressWarnings
而不是更改代码。不幸的是,除了蛮力"all"
之外,我找不到匹配的那个。是否只有死代码检测的值?
答案 0 :(得分:18)
更新:来自Adam的评论:
在Eclipse 3.6和更新的Eclipse版本@SuppressWarnings("unused")
现在可用于抑制“死代码”警告。请参阅Christopher Stock's answer。
另请参阅Eclipse 4.4(Luna) help了解@SuppressWarnings。
原始答案:
所有SuppressWarnings值Eclipse 3.5“know”列在this page中。似乎没有用于仅抑制新的死码检测的价值。但是您可以在@SuppressWarnings("all")
声明之前使用domain
,因此它将仅针对整个类禁止警告:
private static final boolean ALLOW_DOMAIN_LITERALS = false;
@SuppressWarnings("all")
private static final String domain = ALLOW_DOMAIN_LITERALS ? rfc2822Domain : rfc1035DomainName;
因为死码检查是一个新的检查,你也可以在Eclipse bug database建议加强支持三元运算。
答案 1 :(得分:8)
在Ignore
部分
Windows -> Preferences > Java > Compiler > Errors/Warnings
中选择Potential programming problems
答案 2 :(得分:6)
您可以使用
禁用“死代码”警告@SuppressWarnings( "unused" )
有关更多信息,请参阅eclipse文档:
“unused”以禁止相对于未使用的代码和死代码的警告
问候
克里斯托弗