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修饰