示例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