Как обнаружить новое значение было добавлено в перечисление и не обрабатывается в переключателе
Время от времени мне приходится добавлять новое значение в тип enum в моем проекте.
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,
FILENOTFOUND //this one is new one
}
Я хотел бы иметьошибка времени компиляции для каждого переключателя, который у меня есть, это не обрабатывает новое значение, как это:
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: Ковариантный метод equals (), определенный для enum (EQ_DONT_DEFINE_EQUALS_FOR_ENUM)
РЕДАКТИРОВАТЬ: Я выбираю ответ Марка, я использую Eclipse, и это звучит так, как мне нужно! Я вообще не эксперт по поиску багов, поэтому мог пропустить такую функциональность, хотя я так не думаю.