我已閱讀Java枚舉並定期使用它們。不過,我不明白爲什麼e.g JFrame.EXIT_ON_CLOSE
返回int
。爲什麼Java中的常量是他們的方式?
考慮http://download.oracle.com/javase/1.5.0/docs/guide/language/enums.html;
// int Enum Pattern - has severe problems!
public static final int SEASON_WINTER = 0;
public static final int SEASON_SPRING = 1;
public static final int SEASON_SUMMER = 2;
public static final int SEASON_FALL = 3;
不是類型安全 - 因爲一個賽季只是你可以在需要一個賽季的任何其他int值傳遞,或添加兩個賽季在一起(這是沒有意義的)一個int。
JFrame.EXIT_ON_CLOSE
返回,而JFrame.HIDE_ON_CLOSE
返回,這意味着三個後者等於第一。
爲什麼這種方式來實現?
它可能不應該。 – 2011-04-23 19:52:43