如果您查看 enum api 的方法name(),它会说:
name()
返回此枚举常量的名称,与其枚举声明中的声明完全相同。大多数程序员应该优先使用 toString 方法,因为 toString 方法可能会返回一个对用户更友好的名称。此方法主要设计用于正确性取决于获取确切名称的特殊情况,该名称不会因版本而异。
为什么更好用toString()?我的意思是当 name() 已经是 final 时,可能会覆盖 toString。因此,如果您使用 toString 并且有人覆盖它以返回一个硬编码的值,那么您的整个应用程序就会关闭......此外,如果您查看源代码,则 toString() 方法会准确返回名称,并且只返回名称。这是同一件事。
toString()
这实际上取决于您要对返回值做什么:
toString
当我觉得可能会造成混淆时,我提供了一个更具体的getXXX方法,例如:
getXXX
public enum Fields { LAST_NAME("Last Name"), FIRST_NAME("First Name"); private final String fieldDescription; private Fields(String value) { fieldDescription = value; } public String getFieldDescription() { return fieldDescription; } }