Wie ein neuer Wert erkannt wird, wurde einer Aufzählung hinzugefügt und wird in einem Schalter nicht behandelt

Von Zeit zu Zeit muss ich einem Aufzählungstyp in meinem Projekt einen neuen Wert hinzufügen.

public enum Day {
  SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, 
   FILENOTFOUND //this one is new one
}

Was ich möchte ist ein @ zu habcompile time error für jeden Schalter, den ich habe, der den neuen Wert nicht behandelt, wie dieser:

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;
    } 

Hat eine Voreinstellung: das wirft eine Ausnahme ist nicht gut genug, ich möchte, dass es Kompilierzeit ist.

Ich glaube nicht, dass das möglich ist, aber vielleicht hat jemand einen ordentlichen Trick ...

Ich dachte, Findbugs hätte eine Regel, um diese zu finden, aber ich habe nur Folgendes gesehen:Eq: Covariant equals () Methode definiert für enum (EQ_DONT_DEFINE_EQUALS_FOR_ENUM)

BEARBEITEN Ich wähle Marks Antwort, ich verwende Eclipse und das klingt genau so, wie ich es brauchte! Ich bin überhaupt kein Experte für das Auffinden von Fehlern, daher habe ich möglicherweise eine solche Funktionalität verpasst, obwohl ich das nicht glaube.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage