1.基本enum特性:关键字enum可以将一组具名的值的有限集合创建为一种新的类型,这些具名的值为该枚举类型的实例对象。valus()方法返回enum实例的数组;name()方法输出枚举对象的名字;orfinal()方法输出该枚举对象的次序,从0开始编号;valueOf()方法将字符串转换成枚举对象,要求字符串必须是已有的常量名,否则会报错;compareTo()方法比较两个枚举常量,比较的是编号。
public static void main(String[] args) {
Season autumn = Season.AUTUMN;
System.out.println(autumn.name());
System.out.println(autumn.ordinal());
Season[] values = Season.values();
for (Season season : values) {
System.out.println(season);
}
Season autumn1 = Season.valueOf("AUTUMN");
System.out.println(autumn1);
System.out.println(Season.AUTUMN.compareTo(Season.SUMMER));
}
}
enum Season {
SPRING("春天", "温暖"), SUMMER("夏天", "炎热"),
AUTUMN("秋天", "凉爽"), WINTER("冬天", "寒冷");
private String name;
private String desc;
private Season(String name, String desc) {
this.name = name;
this.desc = desc;
}
public String getName() {
return name;
}
public String getDesc() {
return desc;
}
@Override
public String toString() {
return "Season{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}
2.将静态导入用于enum:使用static import能够将enum实例的标识符带入房前的命名空间,所有无需再用enum类型来修饰enum实例。
enum Season {
SPRING, SUMMER, AUTUMN, WINTER
}
public class Test3 {
Season name;
public Test3(Season name) {
this.name = name;
}
@Override
public String toString() {
return "Test3 " + "name=" + name;
}
public static void main(String[] args) {
System.out.println(new Test3(SPRING));
System.out.println(new Test3(SUMMER));
System.out.println(new Test3(AUTUMN));
}
}
3.向enum中添加新方法:不能继承自一个enum之外,可以把enum看作一个常规类。可以在枚举类中定义成员变量、构造方法、方法。
public enum Season {
SPRING("温暖"), SUMMER("炎热"),
AUTUMN("凉爽"), WINTER("寒冷");
private String desc;
Season(String desc) {
this.desc = desc;
}
public String getDesc() {
return desc;
}
public static void main(String[] args) {
for (Season season : Season.values()) {
System.out.println(season.getDesc());
}
}
}
3409

被折叠的 条评论
为什么被折叠?



