包含名称和valueOf
方法。
我们知道Java编译器会自动为每个枚举生成一个静态方法,称为values。
该方法返回一个包含枚举中定义的所有常量的数组。
既然有一个静态方法值,那么我们为什么要使用name()
方法呢?那么静态法values()
和valueof()
法有什么区别呢?
读取它们的javadoc(线程)。状态(例如,继承Enum,就像所有Enum一样),您将看到它们的作用。
name()
是一个返回实例名称的实例方法。
valueOf()
是一个静态方法,接受String对象并返回具有该名称的枚举实例。
values()
是一个返回所有枚举实例的静态方法。
valueOf
通过传递带有指定名称的String指定Enum类型返回Enum常量。
<<p> 名称/strong>枚举常量的名称,在其枚举声明中声明。您可以优先使用toString()方法。
As I came to Know this:
这个name()方法主要设计用于正确性依赖于获得确切名称的情况,该名称不会因版本而变化。
While values返回包含所有枚举常量的数组,该数组是隐式方法。