默认枚举方法

Lig*_*ght 0 java enums

枚举包含名称和valueOf方法。

众所周知,Java编译器会为每个枚举自动生成一个静态方法,称为值。

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

由于方法有一个静态值,那么为什么要使用name()method?那么静态方法values()valueof()方法之间有什么区别?

JB *_*zet 5

阅读他们的javadoc(例如Thread.State,像继承所有枚举一样继承Enum),您将看到它们的用途。

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

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

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