枚举类型的获取

Posted 格子衫111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了枚举类型的获取相关的知识,希望对你有一定的参考价值。

枚举类:

/**
 * 作业类型
 */
public enum WorkingTypeEnum 

//    作业类型(1=人工区,2=AGV区,0=不限制)

    ARTIFICIAL_AREA(1, "人工区"),
    AVG_AREA(2, "AGV区"),
    UNLIMITED(0, "不限制"),
    ;

    private Integer code;
    private String name;

    WorkingTypeEnum(Integer code, String name) 
        this.code = code;
        this.name = name;
    

    public Integer getCode() 
        return code;
    

    public void setCode(Integer code) 
        this.code = code;
    

    public String getName() 
        return name;
    

    public void setName(String name) 
        this.name = name;
    

    public static String getNameByCode(Integer code) 
        return Arrays.stream(WorkingTypeEnum.values()).filter(enumObj -> NumUtils.eq(code, enumObj.getCode()))
                .findFirst().map(WorkingTypeEnum::getName).orElse("");
    

    public static Integer getCodeByName(String name) 
        return Arrays.stream(WorkingTypeEnum.values()).filter(enumObj -> StringUtils.equals(name, enumObj.getName()))
                .findFirst().map(WorkingTypeEnum::getCode).orElse(null);
    


工具类:

**
 * 数字工具类
 */
public class NumUtils 
    private static final Logger log = LoggerFactory.getLogger(NumUtils.class);

    public static Boolean eq(Object i, Object j) 
        if (i == null || j == null) return false;
        return StringUtils.equals(i.toString(), j.toString());
    

    public static Boolean anyEq(Object i, Object... j) 
        return Arrays.stream(j).anyMatch(o -> eq(i, o));
    

    public static Boolean anyEq(Object i, List j) 
        return j.stream().anyMatch(o -> eq(i, o));
    



    public static Boolean allEq(Object i, Object... j) 
        return Arrays.stream(j).allMatch(o -> eq(i, o));
    

    public static Boolean notEq(Object i, Object j) 
        return !eq(i, j);
    

    public static Integer parseInt(String uid) 
        try 
            return Integer.parseInt(uid);
         catch (NumberFormatException e) 
            log.error(e.getMessage(), e);
        
        return null;
    

以上是关于枚举类型的获取的主要内容,如果未能解决你的问题,请参考以下文章

对比Java学Kotlin枚举

对比Java学Kotlin枚举

JAVA枚举可以用来做啥?举一个简单的例子(用枚举、不用)

获取枚举 描述

java枚举类型

java枚举类型