Java枚举类使用方式
单枚举定义 :
/**
*
* @title: 单枚举定义
* @author: wll
* @since: 2021-1-27 14:47:54
*/
public enum JudgeEnum {
TRUE, FALSE;
public static void main(String[] args) {
System.out.println(JudgeEnum.TRUE);// TRUE
System.out.println(JudgeEnum.FALSE);// FALSE
}
}
KEY,VAL枚举定义及使用:
/**
*
* @title: KEY,VAL枚举定义及使用
* @author: wll
* @since: 2021-1-27 14:48:21
*/
public enum ColorEnum {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
// 成员变量
private String name;
private Integer code;
// 构造方法
private ColorEnum(String name, Integer code) {
this.name = name;
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
// 通过code获取name
public static String getNameByCode(Integer code) {
for (ColorEnum c : ColorEnum.values()) {
if (c.getCode() == code) {
return c.name;
}
}
return null;
}
// 通过name获取code
public static Integer getCodeByName(String name) {
for (ColorEnum c : ColorEnum.values()) {
if (c.getName() == name) {
return c.code;
}
}
return null;
}
public static void main(String[] args) {
System.out.println("Name-->" + ColorEnum.RED.getName());// Name-->红色
System.out.println("Code-->" + ColorEnum.RED.getCode());// Code-->1
System.out.println("getNameByCode-->" + ColorEnum.getNameByCode(2));// getNameByCode-->绿色
System.out.println("getCodeByName-->" + ColorEnum.getCodeByName("黄色"));// getCodeByName-->4
}
}
混搭使用枚举的方式:
/**
*
* @title: 混搭使用枚举的方式
* @author: wll
* @since: 2021-1-27 15:17:10
*/
public interface CollectionEnum {
enum Judge implements CollectionEnum {
TRUE, FALSE
}
enum Color implements CollectionEnum {
red("红色", 1), green("绿色", 2), yello("黄色", 3);
private String name;
private Integer code;
private Color(String name, Integer code) {
this.name = name;
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
}
public static void main(String[] args) {
System.out.println(Judge.TRUE);// TRUE
System.out.println(Color.red.getName());// 红色
System.out.println(Color.red.getCode());// 1
}
}