如何使用java声明枚举

2022-09-01 01:14:00

我想将此示例 C# 代码转换为 Java 代码:

public enum myEnum {
  ONE = "one",
  TWO = "two",
}; 

因为我想把这个常量类改成枚举

public final class TestConstants {
    public static String ONE = "one";
    public static String TWO= "two";
}

答案 1
public enum MyEnum {
   ONE(1),
   TWO(2);
   private int value;
   private MyEnum(int value) {
      this.value = value;
   }
   public int getValue() {
      return value;
   }
}

简而言之 - 只要您提供构造函数参数(并将值设置为相应的字段),就可以为枚举定义任意数量的参数。

正如 Scott 所指出的 - 官方枚举文档会给你答案。始终从语言功能和构造的官方文档开始。

更新:对于字符串,唯一的区别是构造函数参数是 ,并且声明枚举StringTEST("test")


答案 2

枚举是 Java 中的。它们具有隐式序数值,从 0 开始。如果要存储其他字段,则可以像存储任何其他类一样执行此操作:

public enum MyEnum {

    ONE(1),
    TWO(2);

    private final int value;

    private MyEnum(int value) {
        this.value = value;
    }

    public int getValue() {
        return this.value;
    }
}