默认枚举方法

时间:2014-03-22 13:28:40

标签: java enums

枚举包含名称和valueOf方法。

Agian我们知道Java编译器会自动为每个枚举生成一个静态方法,称为值。

此方法返回枚举内定义的所有常量的数组。

由于存在静态方法值,为什么我们应该使用name()方法?那么静态方法values()valueof()方法有什么区别?

2 个答案:

答案 0 :(得分:4)

阅读他们的javadoc(Thread.State,例如,继承Enum,就像所有枚举一样),你会看到他们的目的。

name()是一个返回实例名称的实例方法。

valueOf()是一个静态方法,它接受一个String并返回具有该名称的枚举实例。

values()是一个返回所有枚举实例的静态方法。

答案 1 :(得分:1)

<强>的valueOf

通过传递具有指定名称的String指定的枚举类型来返回枚举常量。

命名

在枚举声明中声明的枚举常量的名称。 您可以优先使用 toString()方法。

当我开始了解这一点时:

此name()方法主要用于正确性取决于获取确切名称的情况,不会因发行版本而异。

值返回所有枚举常量的 array ,这是隐式方法。