JDK1.5之后引入了新的类型-枚举,本质就是继承了Enum类,下面是工作中我们可能要用到的一些场景,示例附带测试代码,大家可以直接黏贴进行测试,加深理解,有不足的地方,欢迎指导。
一、最简单的用法--常量
public enum Color {
GREEN,RED,YELLOW;
public static void main(String[] args) {
System.out.println(Color.GREEN);
for (Color c: Color.values()) {
System.out.println(c.name());//其中Color.values()返回所有实例数组
}
}
}
控制台输出:
二、结合switch使用,增强代码可读性
public enum Color {
GREEN,RED,YELLOW;
public static void main(String[] args) {
Color c = RED;
switch (c){
case RED:
System.out.println("RED");
break;
case GREEN:
System.out.println("GREEN");
break;
case YELLOW:
System.out.println("YELLOW");
break;
default:
System.out.println("not exist");
break;
}
}
}
控制台输出:
三、带参数的枚举常量,工作中经常遇到,常常用在自定义错误码
public enum ErrorCode {
HTTP_500("500","Server is down"),HTTP_404("404","request not find"),HTTP_200("200","Http 200");
private String code;
private String msg;
ErrorCode(String code, String msg) {
this.code = code;
this.msg = msg;
}
public static void main(String[] args) {
System.out.println(ErrorCode.HTTP_200.code + ":" + ErrorCode.HTTP_200.msg);
for (ErrorCode errorCode: values()) {
System.out.println(errorCode.code + ":" + errorCode.msg);
}
}
}
控制台输出: