参考资料

常用枚举

import java.util.ArrayList;
import java.util.List;


public class CrmCheckInEnum {
    /**
     * 状态 1 已完成 2 未完成
     */
    public enum Status {
        /**
         *
         */
        DEL("已删除", 0),
        YES("已完成", 1),
        NO("未完成", 2);

        /**
         * 设置不可变成员
         */
        private final String name;
        private final Integer value;

        /**
         * 构造类
         *
         * @param name
         */
        Status(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }

        /**
         * 获取枚举
         */
        public static Status getEnum(String name) {
            for (Status temp : Status.values()) {
                if (temp.getName().equals(name)) {
                    return temp;
                }
            }
            return null;
        }

        /**
         * 获取枚举
         */
        public static Status getEnum(int value) {
            for (Status temp : Status.values()) {
                if (temp.getValue().equals(value)) {
                    return temp;
                }
            }
            return null;
        }

        /**
         * 根据value获取枚举name
         */
        public static String getEnumName(int value) {
            for (Status temp : Status.values()) {
                if (temp.getValue().equals(value)) {
                    return temp.getName();
                }
            }
            return "";
        }

        /**
         * 根据name获取枚举value
         */
        public static Integer getEnumValue(String name) {
            for (Status temp : Status.values()) {
                if (temp.getName().equals(name)) {
                    return temp.getValue();
                }
            }
            return null;
        }

        /**
         * 获取多个枚举名称
         */
        public static List<String> getStringNameList(List<Integer> value) {
            List<String> objects = new ArrayList<>();
            if (value == null || value.isEmpty()) {
                return new ArrayList<>();
            }

            for (Integer integer : value) {
                for (Status temp : Status.values()) {
                    if (temp.getValue().equals(integer)) {
                        objects.add(temp.getName());
                    }
                }
            }
            return objects;
        }

        /**
         * 获取多个枚举值
         */
        public static List<Integer> getValueList(List<String> nameList) {
            List<Integer> objects = new ArrayList<>();
            if (nameList == null || nameList.isEmpty()) {
                return new ArrayList<>();
            }

            for (String name : nameList) {
                for (Status temp : Status.values()) {
                    if (temp.getName().equals(name)) {
                        objects.add(temp.getValue());
                    }
                }
            }
            return objects;
        }
    }
}