枚舉用來存放一些只存在幾種狀況的對象,例如:星期、顏色等。
若枚舉只有一個成員,則能夠做爲一種單例模式的實現方式。
#1.自定義枚舉類spring
//自定義枚舉類 class Season{ //2.定義兩個屬性 private final String seasonName; private final String seasonDesc; //1.私有構造器,防止外部調用 private Season(String seasonName,String seasonDesc){ this.seasonName = seasonName; this.seasonDesc = seasonDesc; } //3.建立枚舉類的對象 public static final Season SPRING = new Season("春天", "春暖花開"); public static final Season SUMMER = new Season("夏天", "夏日炎炎"); public static final Season AUTUMN = new Season("秋天", "秋高氣爽"); public static final Season WINTER = new Season("冬天", "千里冰封 "); public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } @Override public String toString() { return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]"; } }
自定義枚舉類的使用ide
public class TestSeason { public static void main(String[] args) { Season spring = Season.SPRING; System.out.println(spring); System.out.println(spring.getSeasonName()); } }
#2.enumthis
//使用enum枚舉類 enum Season{ //1.列舉出全部的類型 SPRING("春天", "春暖花開"), SUMMER("夏天", "夏日炎炎"), AUTUMN("秋天", "秋高氣爽"), WINTER("冬天", "千里冰封 "); //2.定義兩個屬性 private final String seasonName; private final String seasonDesc; //3.私有構造器,防止外部調用 private Season(String seasonName,String seasonDesc){ this.seasonName = seasonName; this.seasonDesc = seasonDesc; } public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } @Override public String toString() { return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]"; } }
使用方法code
public static void main(String[] args) { //1.返回枚舉類全部的對象 Season[] season = Season.values(); for (int i = 0; i < season.length; i++) { System.out.println(season[i]); } //2.單獨使用一種狀況 String tmp = Season.SPRING.getSeasonName(); System.out.println(tmp); }