Java如何获取枚举常量的名称?

此示例演示如何使用用户enum的name()方法来获取与枚举声明中所声明的完全相同的枚举常量名称。

package org.nhooo.example.fundamental;

enum ProcessStatus {
    IDLE, RUNNING, FAILED, DONE;

    @Override
    public String toString() {
        return "Process Status: " + this.name();
    }
}

public class EnumNameDemo {
    public static void main(String[] args) {
        for (ProcessStatus ps : ProcessStatus.values()) {
            // 获取此枚举常量的名称,与
            // 在其枚举声明中声明。
            System.out.println(ps.name());

            // 在这里,我们调用toString的实现
            // 获得更友好信息的方法
            // 枚举常量名称。
            System.out.println(ps.toString());
        }
    }
}

我们的程序结果:

IDLE
Process Status: IDLE
RUNNING
Process Status: RUNNING
FAILED
Process Status: FAILED
DONE
Process Status: DONE