Java enum - 为什么使用 toString 而不是 name
如果你在枚举 api 中查看方法 name()
处,它会说:
返回此枚举常量的名称,完全符合其枚举声明中声明的名称。大多数程序员应该优先使用toString方法而不是此方法,因为toString方法可能会返回一个更加用户友好的名称。此方法主要用于特殊情况,其中正确性取决于获取确切名称,而该名称不会因版本而异。
为什么使用更好?我的意思是,当 name() 已经是 final 时,toString 可能会被覆盖。因此,如果您使用toString并且有人覆盖它以返回硬编码值,则整个应用程序都已关闭...此外,如果您查看源代码,toString() 方法将准确返回,并且仅返回名称。这是一回事。toString()