Enum
次のように定義された sを見つけました。
public Enum MyEnum {
ONE
{
@Override
public int getSomething() {
return 1;
}
},
TWO
{
@Override
public int getSomething() {
return 2;
}
}
int getSomething()
{
return 0;
}
}
理想的には、この目的のためにフィールドを定義する必要があり、クラスは次のようになるはずだと思うので、どういうわけか、この実装にある種の不快感を覚えます。
public Enum MyEnum{
ONE(1),
TWO(2)
private int theSomething;
private MyEnum(int something) {
theSomething = something;
}
int getSomething()
{
return theSomething;
}
}
問題は、個人的な不快感を除けば、このコードを変更する正当な理由が見つからないことです。存在しますか?