枚举包含名称和valueOf
方法。
Agian我们知道Java编译器会自动为每个枚举生成一个静态方法,称为值。
此方法返回枚举内定义的所有常量的数组。
由于存在静态方法值,为什么我们应该使用name()
方法?那么静态方法values()
和valueof()
方法有什么区别?
答案 0 :(得分:4)
阅读他们的javadoc(Thread.State,例如,继承Enum,就像所有枚举一样),你会看到他们的目的。
name()
是一个返回实例名称的实例方法。
valueOf()
是一个静态方法,它接受一个String并返回具有该名称的枚举实例。
values()
是一个返回所有枚举实例的静态方法。
答案 1 :(得分:1)
<强>的valueOf 强>
通过传递具有指定名称的String指定的枚举类型来返回枚举常量。
命名强>
在枚举声明中声明的枚举常量的名称。 您可以优先使用 toString()方法。
当我开始了解这一点时:
此name()方法主要用于正确性取决于获取确切名称的情况,不会因发行版本而异。
值返回所有枚举常量的 array ,这是隐式方法。