Время от времени мне приходится добавлять новое значение в тип перечисления в моем проекте.
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,
FILENOTFOUND //this one is new one
}
Я бы хотел, чтобы для каждого переключателя, который я выполнял, была ошибка времени компиляции have, которое не обрабатывает новое значение, например это:
switch (color) {
case MONDAY:
case TUESDAY:
case WEDNESDAY:
case THURSDAY:
System.out.println("Mondays are bad.");
break;
case FRIDAY: System.out.println("Fridays are better.");
break;
case SATURDAY:
case SUNDAY: System.out.println("Weekends are best.");
break;
}
Наличие значения по умолчанию: которое генерирует какое-то исключение, недостаточно, я бы хотел, чтобы это было во время компиляции.
Я не думаю, что это возможно, но возможно, у кого-то есть хитрый трюк ...
Я думал, что у Findbugs есть правило, чтобы их находить, но я видел только это: Eq: Метод Covariant equals (), определенный для enum (EQ_DONT_DEFINE_EQUALS_FOR_ENUM)
EDIT: Я выбираю ответ Марка, я использую Eclipse, и это звучит именно так, как мне нужно! Я вообще не эксперт по поисковым ошибкам, поэтому я, возможно, пропустил такую функциональность, хотя я так не думаю.