Java 枚举集自定义序数

标签 java enums

前几天我尝试这样做,但它不起作用:

enum MyEnum {ONE = 1, TWO = 2}

令我惊讶的是,它无法编译!!!如何自定义序数???

最佳答案

你不能。通过从 0 开始并向上处理来固定序数。来自 ordinal() 的文档:

Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).

您不能指定自己的值。另一方面,您可以在枚举中拥有自己的值:

public enum Foo {
    ONE(1), TWO(2);

    private final int number;

    private Foo(int number) {
        this.number = number;
    }

    public int getNumber() {
        return number;
    }
}

关于Java 枚举集自定义序数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7559645/

相关文章:

java枚举到arraylist卡片组

c# - 在 Razor View 中显示枚举描述

java - 如何将WebLogicJtaTransactionManager转换为tomcat支持的TransactionManager

java - 在任务管理器和探查器中监视java应用程序内存,哪个是正确的?

java - 如何强制Java重新加载环境变量

围绕枚举的 Pythonic 方式

c - 从 C 中的 typedef 枚举获取数组,索引处的值

java - Java中的对象引用对于不同的对象不同?

java - 快速编辑私有(private)变量

objective-c - 从 Objective-C 使用 Swift 类和枚举