如果您在方法枚舉API看name()
它說:的Java枚舉 - 爲什麼使用的toString,而不是名稱
返回此枚舉常量的名稱,正是因爲在枚舉聲明中宣佈。 由於toString方法可能會返回一個更加用戶友好的名稱,因此大多數程序員應該優先使用toString方法,該方法優先於 。 此方法主要用於特殊情況,其中正確性取決於獲取確切的名稱,而不會因發佈版本而異。
爲什麼最好用toString()
?我的意思是,當name()已經是final時,toString可能被覆蓋。所以,如果你使用toString,並且有人重寫它以返回一個硬編碼的值,那麼你的整個應用程序就關閉了。另外,如果你查看源代碼,toString()方法會返回完全正確的名稱。這是同一件事。
你可以在你的枚舉中重寫'toString()',但沒有其他人可以擴展和覆蓋它。你不能擴展枚舉。 –