在阅读了 String java.lang.Enum.name()的文档之后,我不确定我是否理解了什么时候使用 姓名()和什么时候使用 ToString ()。
返回此枚举常数的名称,与其枚举声明中声明的名称完全一致。大多数程序员应该优先使用 toString 方法,因为 toString 方法可能返回一个更加用户友好的名称。这种方法主要是为了在特殊情况下使用而设计的,在这种情况下,正确性取决于获得准确的名称,这种名称不会因版本的不同而有所不同。
特别是,尽管文档说更喜欢 toString(),但 Java 自己的 标准位置枚举使用 name,而我认为文档建议使用 name。
public String getName() { return name(); }
此外,Enum实现 toString()作为,
public String toString() {
return name;
}
我想不出一种情况,用户定义的枚举会覆盖 toString(),因此 name()和 toString()几乎总是完全相同的。
name()是一个坏主意吗?java.lang.Enum.toString()会?