java 枚举常见操作

导读:本篇文章讲解 java 枚举常见操作,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

示例1:

public enum RandomEnum
{
     StartHere,
     StopHere
}
//转换成list
List<RandomEnum> list = Arrays.asList(RandomEnum.values());

示例2:

public enum Status {
    OK(0, "成功"),
    ERROR_A(100, "错误A"),
    ERROR_B(200, "错误B");

    Status(int number, String description) {
        this.code = number;
        this.description = description;
    }
    private int code;
    private String description;
    public int getCode() {
        return code;
    }
    public String getDescription() {
        return description;
    }
    //根据code查找description
    public static String getde(int v) { 
        for (Status s : Status.values()) {
            if (v==s.getCode()){
              return  s.getDescription();
            }
        }
        return "";
    }
    
    //判断Status里是否有此code
    public static boolean hasCode(String co) {
        for (OpenBusinessEnum s : OpenBusinessEnum.values()) {
           if (co.equals(s.getCode())){
               return  true;
           }
       }
       return false;
    }
    
    //获取所有的description
    public static String[] getde() { 
       String[] arry = new String[Status.values().length];
       int i = 0;
       for (Status s : Status.values()) {
           arry[i] = s.getDescription();
           i++;
       }
       return arry;
   }

	//判断该枚举中是否含有传入的值
    public static boolean contains(String test) {
        for (Status c : Status.values()) {
            if (c.name().equals(test)) {
                return true;
            }
        }
        return false;
    }
}

测试:

 System.out.println(Status.getde(0));//查找Status枚举中code是0的description的值。输出:成功
 System.out.println(Status.valueOf("OK").getCode());//查找Status枚举中OK的code。输出:0
 System.out.println(Status.valueOf("OK").getDescription());//查找Status枚举中OK的description。输出:成功

System.out.println(Status.OK); //输出:OK
System.out.println(Status.OK.getCode()); //输出:0
System.out.println(Status.OK.getDescription()); //输出:成功
System.out.println(Arrays.asList(Status.getde()));//输出:[成功, 错误A, 错误B]

String event1 = "aaa";
String event2 = "ERROR_B";
System.out.println(Status.contains(event1));//false。因为Status中不含有aaa
System.out.println(Status.contains(event2));//true。因为Status中含有ERROR_B

参考文章:
Java 枚举
枚举中valueOf用法
Java Enum原理
java枚举类Enum方法简介
使用valueof前必须进行校验

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/80362.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!