在阅读了 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()
会?