将枚举的值转换成枚举

- 日理万妓 2022-11-28 10:38 291阅读 0赞
  1. public enum TestEnum {
  2. TEST1(1),
  3. TEST2(2),
  4. TEST3(3),
  5. TEST4(4),
  6. TEST5(5);
  7. private int type;
  8. private TestEnum (int type) {
  9. this.type = type;
  10. }
  11. public int getType() {
  12. return this.type;
  13. }
  14. public static TestEnum of(int typeValue) {
  15. TestEnum [] var1;
  16. int var2 = (var1 = values()).length;
  17. for(int var3 = 0; var3 < var2; ++var3) {
  18. TestEnum type;
  19. //字符串对应的改成equals
  20. if ((type = var1[var3]).getType() == typeValue) {
  21. return type;
  22. }
  23. }
  24. return null;
  25. }

调用

  1. TestEnum test = TestEnum .of(1))

如果字段名即值,如:

  1. public enum TestEnum2 {
  2. TEST21("TEST21"),
  3. TEST22("TEST22"),
  4. TEST23("TEST23"),
  5. TEST24("TEST24");
  6. private String type;
  7. private TestEnum2(String type){
  8. this.type = type;
  9. }
  10. public String getType(){
  11. return type;
  12. }
  13. }

可以使用获取

  1. TestEnum2 test = Enum.valueOf(TestEnum2.class,"TEST21");//需要try{}catch()

也可以根据name获取第一种的值

  1. Enum.valueOf(TestEnum.class,"TEST1").getType();// 1

发表评论

表情:
评论列表 (有 0 条评论,291人围观)

还没有评论,来说两句吧...

相关阅读

    相关 _其他应用

    可以使用枚举实现一个接口 可以在枚举类中定义抽象方法 枚举类型可以跟普通的类一样实现一个接口,但是实现接口的时候要求枚举中的每个对象都必须单独覆写好接口中的抽象方法。 \