package com.czh.log.enums;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* author czh^_^
*/
public enum StatusEnum {
UNPAID(1, "待支付"),
LOADING(2, "处理中"),
PAID(3, "支付成功");
/**
* 根据code,获取对应的枚举对象
* @param code
* @return
*/
public static StatusEnum getByCode(int code) {
for (StatusEnum enums : values()) {
if (enums.getCode() == code) {
return enums;
}
}
return null;
}
/**
* 将枚举类转换成list
* @return
*/
public static List<Map> toList() {
List<Map> list = new ArrayList<>();
for (StatusEnum StatusEnum : values()) {
Map map = new HashMap();
map.put("key", StatusEnum.code + "");
map.put("value", StatusEnum.message);
list.add(map);
}
return list;
}
public static void main(String[] args) {
StatusEnum statusEnum = StatusEnum.getByCode(1);
System.out.println(statusEnum);
//输出结果 StatusEnum{code=1, message='待支付'}
List<Map> list = statusEnum.toList();
System.out.println(list);
//输出结果 [{value=待支付, key=1}, {value=处理中, key=2}, {value=支付成功, key=3}]
/**
* switch用法
*/
switch (statusEnum){
case UNPAID:
System.out.println("订单还没付款");
break;
case LOADING:
System.out.println("订单还在处理中,请稍等");
break;
case PAID:
System.out.println("订单已付款");
break;
}
}
private Integer code;
private String message;
StatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Override
public String toString() {
return "StatusEnum{" +
"code=" + code +
", message='" + message + '\'' +
'}';
}
}
java枚举类常用方法
最新推荐文章于 2024-08-11 07:45:00 发布