1.当成常量使用
首先 定义一个 需要使用的 枚举lei'xing
package com.baiwang.UtilsTest.enumTest.enums;
/**
*
* @ClassName: Color
* @Description: enum 作为常量使用。
* @author wjh
* @date 2018年6月11日 下午5:40:53
*
*/
public enum Color {
RED, GREEN, BLACK, YELLOW;
}
用enum 做比较和switch 用
public static Object testColorAsArgs(Color color) {
//作为常量进行比较使用
System.out.println("==> equals "+color.equals(Color.BLACK));
//switch 语句用法
switch (color) {
// 直接使用color 中的元素
case BLACK:
System.out.println("===> Black");
break;
case YELLOW:
System.out.println("===> Yellow");
break;
default:
System.out.println("===> this is Default");
}
2.一个enum变量里定义多个子变量的时候,需要有对应的私有构造函数,每一个变量相当于一个enum,可以认为是每一个变量相当于一个实体。如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。
package com.baiwang.UtilsTest.enumTest.enums;
public enum ColorWithCode {
RED("红色",1),BLACK("黑色",2);
String name;
int code;
ColorWithCode(String name,int code){
this.code=code;
this.name=name;
}
public static ColorWithCode getColor(int code) {
for(ColorWithCode color:values()) {
if(code == color.getCode()) {
return color;
}
}
return null;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}
参考文章:https://blog.csdn.net/qq_27093465/article/details/52180865