この例では、明らかな「int 値」以外に違いはありません。
一般に、Java 5+ の enum はいくつかの制限のあるクラスです。通常のクラスのように、'new' を使用して enum のインスタンスを自分で作成することはできません。
一方、列挙型は、通常のクラスやメソッドと同じようにデータ フィールドを持つことができます。
列挙型がたとえば惑星を表し、列挙型の各インスタンスに惑星の半径などの非常に有用なデータが含まれているとしたらどうでしょうか? この場合、次のようにコーディングします。
public enum Planet {
EARTH(6000), VENUS(5000);
int radius;
private Planet(int radius) {this.radius = radius;}
// now define a getter:
public int getRadius() {
return radius;
}
}
ここでゲッターに注意してください。列挙型インスタンスからこの種のデータに直接アクセスできるようになります。
例えば:
public void somewhereInYourCode(...) {
.....
Planet p = getPlanet(); // get the planet from your system
int radius = p.getRadius();
....
}
お役に立てれば