java - 访问枚举常量

标签 java enums constants

<分区>

Possible Duplicate:
Java: access to the constants in an enumeration (enum)

我在 java 中浏览枚举,我有以下查询..我做了一个枚举让我们说..

 public enum Currency {
        PENNY(1), NICKLE(5), DIME(10), QUARTER(25);
        private int value;

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

现在假设如果我有一个类 A ,那么请告诉我如何从类 A 访问上面的枚举常量,还请告诉我第二种方法,而不是枚举我也可以使用接口(interface)方法enum 在界面上有什么优势..?

最佳答案

您需要声明一个 getValue() 方法来返回每个枚举常量的 value 属性:

public int getValue() {
    return value;
}

像这样使用它:

Currency quarter = Currency.QUARTER;
int quarterValue = quarter.getValue();  // it's 25 for the code in the question

请注意,上面的值不同于枚举的序数值,后者的访问方式如下:

int quarterOrdinal = quarter.ordinal(); // it's  3 for the code in the question

关于枚举的优点:它们是一种类型安全的方式,用于指定数据类型只有一组有限的可能值。

关于java - 访问枚举常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12032088/

相关文章:

c++ - 在构造具有 const 成员的对象时调用另一个构造函数

c++ - STL 算法和 const_iterators

objective-c - Objective-C 上下文中不熟悉的 C 语法

java - 将 math.random 值分配给数组

java - 相当于 jQuery slideDown 的 Swing?

java - facebook graph api 调用使用 servlet 发布图像

java - Java 10 中的 "var"到底是什么类型的 token ?

C 比较运算符优先级

c# - 从实例中获取枚举值的数量

c++ - 我应该如何循环 C++11 中的枚举类?