我有一个看起来有点像这样的枚举:
public enum Numbers {
ONE(1), TWO(2), THREE(3);
public final int num;
public Numbers(int num) {
this.num = num;
}
}
我希望能够从参数转换为枚举,例如从 int1
到枚举ONE
。 Java Enums 中是否有任何内置机制可以做到这一点,或者我是否必须为此编写自己的逻辑?
是的,你必须编写自己的逻辑作为num
变量是你自己逻辑的一部分:
public enum Numbers {
ONE(1), TWO(2), THREE(3);
public final int num;
private Numbers(int num) {
this.num = num;
}
public static Numbers getNumber(int i){
for(Numbers number : Numbers.values()){
if(i == number.num){
return number;
}
}
throw new IllegalArgumentException("This number doesn't exist");
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)