目录
一、枚举
1.什么是枚举
2.枚举的格式
3.枚举的特点
4.代码示例
5.枚举常用方法
枚举:JAVA中定义好的一些固定的值,比如星期、季节
格式:public enum 枚举类名{ 枚举项1,枚举项2,...; }
public class EnumDemo_02 {public static void main(String[] args) {//2.可以通过“枚举类名.枚举项名称”去访问指定的枚举项System.out.println(SeasonDemo_01.SPRING);System.out.println(SeasonDemo_01.SUMMER);System.out.println(SeasonDemo_01.AUTUMN);System.out.println(SeasonDemo_01.WINTER);//3.每一个枚举项都是该枚举类的一个对象SeasonDemo_01 spring = SeasonDemo_01.SPRING;//变量的类型是SeasonDemo_01类型//4.枚举也是一个类,也可以定义成员变量//5.枚举的第一行必须是枚举项,最后的分号不建议省略//6.枚举类也可以有构造器,但必须是private的;枚举项的用法: 枚举("")// 7.枚举类也可以有抽象方法,但枚举项必须重写该方法}
}
public enum SeasonDemo_01 {SPRING("春") {@Overridepublic void show() {System.out.println(this.name);}//如果枚举类中有抽象方法,就必须在枚举项中重写}, SUMMER("夏") {@Overridepublic void show() {System.out.println(this.name);}}, AUTUMN("秋") {@Overridepublic void show() {System.out.println(this.name);}}, WINTER("冬") {@Overridepublic void show() {System.out.println(this.name);}};public String name;//空参构造private SeasonDemo_01() {}//有参构造private SeasonDemo_01(String name) {this.name = name;}//抽象方法public abstract void show();}
String name() 获取枚举项名称
int ordinal() 返回枚举项在枚举类中的索引值
int compareTo( E o) 比较俩个枚举项,返回的是索引值的差值
String toString() 返回枚举项的名称
staticvalueOf(Class type, String name) 获取指定枚举类中的指定名称的枚举值
values() 获得所有的枚举项
代码示例:
public class EnumDemo {public static void main(String[] args) {//String name() 获取枚举项名称Season name = Season.SPRING;System.out.println(name);System.out.println("-------------------------------");//int ordinal() 返回枚举项在枚举类中的索引值int index1 = Season.SPRING.ordinal();int index2 = Season.SUMMER.ordinal();int index3 = Season.AUTUMN.ordinal();int index4 = Season.WINTER.ordinal();System.out.println(index1);System.out.println(index2);System.out.println(index3);System.out.println(index4);System.out.println("-------------------------------");//int compareTo( E o) 比较俩个枚举项,返回的是索引值的差值int result = Season.SPRING.compareTo(Season.WINTER);System.out.println(result);System.out.println("-------------------------------");//String toString() 返回枚举项的名称String s = Season.SPRING.toString();System.out.println(s);System.out.println("-------------------------------");//static valueOf(Class type, String name)//获取指定枚举类中的指定名称的枚举值Season spring = Enum.valueOf(Season.class, "SPRING");System.out.println(spring);System.out.println("-------------------------------");//values() 获得所有的枚举项Season[] values = Season.values();for (Season value : values) {System.out.println(value);}}}