Я использую класс для обнаружения адресов электронной почты, который использует статические конечные логические значения для настройки поведения сопоставления. Поскольку я обновился до 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"
. Есть ли значение только для обнаружения мертвого кода?