JAVA 枚举类遍历与switch使用
2021-02-10 07:16
标签:known ase ISE 工程师 creat his over manage tracking 1、定义枚举类 JAVA 枚举类遍历与switch使用 标签:known ase ISE 工程师 creat his over manage tracking 原文地址:https://www.cnblogs.com/DylanZ/p/12744362.html
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.zxtech.framework.exception.UnknownEnumException;
import com.zxtech.framework.model.enums.IEnum;
import com.zxtech.framework.util.StringUtils;
/**
*
* 流程节点名称枚举
*
*
* @author Caratacus
*/
public enum InstanceNodeEnum implements IEnum {
JobsiteRequirementFeedbackMainProcess(0, "工地需求反馈主流程启动"),
JobsiteRequirementTurnback(1, "工地需求修改"),
FSDPICEngineerPretreatment(2,"FSD/PIC工程师预处理"),
InstallationOrServiceManagerApproval(3,"安装/维保经理审批"),
NonStandardDesign(4,"非标设计"),
PackageDesign(5,"包装设计"),
FSDPICManagerVerification(6,"FSD/PIC经理审核"),
ExportMaterialListforJDESARelease(7,"导出物料清单用于JDE/SA释放"),
PlanOrderConfirmationAMUIPO(8,"计划订单确认(AM/UI PO)"),
SupplierMaterialShippment(9,"供应商物料发运"),
MaterialConfirmation(10,"物料确认"),
OverseasMaterialQuotation(11,"海外物料报价"),
MaterialShippment(12,"物料发运");
@EnumValue
private final int value;
private final String desc;
InstanceNodeEnum(int value, String desc) {
this.value = value;
this.desc = desc;
}
@Override
public int getValue() {
return value;
}
public String getDesc() {
return desc;
}
/**
* 通过value取枚举
* * @param value
* * @return
*/
public static InstanceNodeEnum getTypeByValue(String value) {
if (StringUtils.isEmpty(value)) {
return null;
}
int valueKey = Integer.parseInt(value);
for (InstanceNodeEnum enums : InstanceNodeEnum.values()) {
if (enums.getValue() == valueKey) {
return enums;
}
}
return null;
}
/**
* 通过value取描述
* * @param value
* * @return
*/
public static String getDescByValue(int value) {
for (InstanceNodeEnum enums : InstanceNodeEnum.values()) {
if (enums.getValue() == value) {
return enums.getDesc();
}
}
return"";
}
}
2、枚举类遍历for (InstanceNodeEnum nodeTypeEnum : InstanceNodeEnum.values()) {
nodeTypeEnum.getValue();
nodeTypeEnum.getDesc();
List curNodeList=amtTrackingInfoList.stream().filter(s-> (StringUtils.isNotEmpty(s.getInstanceNodeName())&&s.getInstanceNodeName().equals(nodeTypeEnum.getDesc()))).collect(Collectors.toList());
calcNodeAMTTrackingInfo(String.valueOf(nodeTypeEnum.getValue()),curNodeList,resultList);
}
3、枚举类结合switch使用private void calcNodeAMTTrackingInfo(String nodeIndex,List curNodeList,List
String nowDate=DateUtils.getNowDate();
InstanceNodeEnum instanceNodeEnum = InstanceNodeEnum.getTypeByValue(nodeIndex);
switch (instanceNodeEnum) {
case JobsiteRequirementFeedbackMainProcess:
doSomething();
break;
case JobsiteRequirementTurnback:
doSomething();
break;
default:
break;
上一篇:C语言常用的基础库
下一篇:java——Spring(3)
文章标题:JAVA 枚举类遍历与switch使用
文章链接:http://soscw.com/index.php/essay/53459.html