如何定义枚举类
1.JDK5.0之前,自定义枚举类
1)私有化类的构造器,并给对象属性赋值
2)声明Seasond对象的属性不可变 用private final 修饰
3)提供当前枚举类的多个对象
4)其他诉求 提供get 方法 提供 toString 方法
public 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 AUTUMU= new Season("秋天","秋高气爽");
public static final Season WINTER= new Season("冬天","冰天雪地");
}
2.JDK5.0,可以使用enum关键字定义枚举类
1)提供当前枚举类的对象,多个对象之间用逗号隔开,末尾对象以分号结束
说明:定义的枚举类默认继承于 java.lang.Enum类
2)声明Seasond对象的属性不可变 用private final 修饰
3)私有化类的构造器,并给对象属性赋值
4)其他诉求 提供get 方法提
public enum Season{
SPRING ("春天","春暖花开"),
SUMMER("夏天","夏日炎炎"),
AUTUMU("秋天","秋高气爽"),
WINTER("冬天","冰天雪地");
private final String seasonName;
private final String seasonDesc;
private Season( String seasonName,String seasonDesc){
this.seasonName=seasonName;
this.seasonDesc=seasonDesc
}
}
3.enum类中的主要方法
values()方法:返回枚举类型的对象数组,该方法可以很方便地遍历所有的枚举值。
valuesOf(String srt) 可以把一个字符串转为对应的枚举类对象,要求字符串必须是枚举类对象
toString() 返回当前枚举类对象常量的名称