枚举类的使用
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yjkXCffX-1602339828834)(C:\Users\PePe\AppData\Roaming\Typora\typora-user-images\image-20201009221302629.png)]](https://img-blog.csdnimg.cn/20201010222401263.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjg0NDY5,size_16,color_FFFFFF,t_70#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nyt1dLVp-1602339828837)(C:\Users\PePe\AppData\Roaming\Typora\typora-user-images\image-20201009221457675.png)]](https://img-blog.csdnimg.cn/20201010222406828.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjg0NDY5,size_16,color_FFFFFF,t_70#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jXgSEAwj-1602339828841)(C:\Users\PePe\AppData\Roaming\Typora\typora-user-images\image-20201009224449722.png)]](https://img-blog.csdnimg.cn/20201010222412919.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjg0NDY5,size_16,color_FFFFFF,t_70#pic_center)
枚举类的创建
方式一: jdk5.0之前,自定义枚举类
public class SeasonTest {public static void main(String[] args) {Season autumn = Season.AUTUMN;System.out.println(autumn);}}
class Season{private final String seasonName;private final String seasonDesc;private Season(String seasonName, String seasonDesc) {this.seasonName = seasonName;this.seasonDesc = seasonDesc;}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;}@Overridepublic String toString() {return "Season{" +"seasonName='" + seasonName + '\'' +", seasonDesc='" + seasonDesc + '\'' +'}';}}
方式二: jdk5.0时,可以使用enum关键词定义枚举类
enum Season1{SPRING("春天","春暖花开"),SUMMER("夏天","夏日炎炎"),AUTUMN("秋天","秋高气爽"),WINTER("冬天","凌冽寒风");private final String seasonName;private final String seasonDesc;Season1(String seasonName, String seasonDesc) {this.seasonName = seasonName;this.seasonDesc = seasonDesc;}public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}}
Enum类的常用方法
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F6XaAhIh-1602339828848)(C:\Users\PePe\AppData\Roaming\Typora\typora-user-images\image-20201010214640454.png)]](https://img-blog.csdnimg.cn/20201010222423413.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjg0NDY5,size_16,color_FFFFFF,t_70#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-luf4v5if-1602339828851)(C:\Users\PePe\AppData\Roaming\Typora\typora-user-images\image-20201010214654591.png)]](https://img-blog.csdnimg.cn/20201010222430133.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjg0NDY5,size_16,color_FFFFFF,t_70#pic_center)
public class SeasonTest1 {public static void main(String[] args) {Season1 autumn = Season1.AUTUMN;
System.out.println(autumn.toString());System.out.println("======================================");Season1[] values = Season1.values();for (int i = 0; i < values.length; i++) {System.out.println(values[i]);values[i].show();}Thread.State[] values1 = Thread.State.values();for (int i = 0; i < values1.length; i++) {System.out.println(values1[i]);}Season1 spring = Season1.valueOf("SPRING");System.out.println(spring);System.out.println("====================");autumn.show();}}
enum Season1 implements Info{SPRING("春天","春暖花开"){@Overridepublic void show() {System.out.println("这是一个春天");}},SUMMER("夏天","夏日炎炎"){@Overridepublic void show() {System.out.println("这是一个夏天");}},AUTUMN("秋天","秋高气爽"){@Overridepublic void show() {System.out.println("这是一个秋天");}},WINTER("冬天","凌冽寒风"){@Overridepublic void show() {System.out.println("这是一个冬天");}};private final String seasonName;private final String seasonDesc;Season1(String seasonName, String seasonDesc) {this.seasonName = seasonName;this.seasonDesc = seasonDesc;}public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}}