Я читал о перечислениях Java и регулярно их использую.Тем не менее, я не понимаю, почему, например, JFrame.EXIT_ON_CLOSE
возвращает int
.
Учитывая 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
возвращает 3 , а JFrame.HIDE_ON_CLOSE
возвращает 1 , что означает, что три из последних равны первому.
Почему это реализовано таким образом?