如果您在方法枚举API看name()
它说:的Java枚举 - 为什么使用的toString,而不是名称
返回此枚举常量的名称,正是因为在枚举声明中宣布。 由于toString方法可能会返回一个更加用户友好的名称,因此大多数程序员应该优先使用toString方法,该方法优先于 。 此方法主要用于特殊情况,其中正确性取决于获取确切的名称,而不会因发布版本而异。
为什么最好用toString()
?我的意思是,当name()已经是final时,toString可能被覆盖。所以,如果你使用toString,并且有人重写它以返回一个硬编码的值,那么你的整个应用程序就关闭了。另外,如果你查看源代码,toString()方法会返回完全正确的名称。这是同一件事。
你可以在你的枚举中重写'toString()',但没有其他人可以扩展和覆盖它。你不能扩展枚举。 –