時々、プロジェクトの列挙型に新しい値を追加する必要があります。
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;
}
default: 例外をスローするだけでは十分ではありません。コンパイル時にしたいと思います。
これは可能ではないと思いますが、誰かが巧妙なトリックを持っているかもしれません...
Findbugs にはそれらを見つけるためのルールがあると思っていましたが、これしか見ませんでした :
編集:私はマークの返信を選択しています.私はEclipseを使用しています. 私は findbugs の専門家ではないので、そのような機能を見落としているかもしれませんが、そうは思いません。