1.基础枚举定义与使用:
package com.zxy;public class Main {public static void main(String[] args) {
// 获取枚举值cars car = cars.BMW;switch (car){case BMW :System.out.println("BMW");break;case BENZ :System.out.println("BENZ");break;case AUDI :System.out.println("AUDI");break;}
// 增强for循环遍历枚举for(cars cars:cars.values()){System.out.println(cars);}}
}
enum cars{BMW, BENZ, AUDI;
}
输出:
红色
所有颜色:
RED
GREEN
BLUE
2.带属性和方法的枚举
package com.zxy;public class Main2 {public static void main(String[] args) {Status status = Status.UnReady;System.out.println(status);System.out.println("状态码:"+status.getNum());System.out.println("状态:"+status.getStatusName());// values()返回枚举名数组Status[] values = Status.values();for (Status status1 : values) {System.out.println(status1);}
// valueOf()返回枚举名Status status2 = Status.valueOf("UnReady");System.out.println(status2);}
}enum Status {UnReady(0, "未准备"),Ready(1, "已准备"),Start(2, "已启动");private final Integer Num;private final String statusName;public Integer getNum() {return Num;}public String getStatusName() {return statusName;}Status(int Num, String statusName) {this.Num = Num;this.statusName = statusName;}
}
UnReady
状态码:0
状态:未准备
UnReady
Ready
Start
UnReady
总结:
- values 返回枚举值数组
- valueOf(String name) 返回枚举值
- 枚举类构造方法 默认private
- 枚举类属性 final修饰