Si miras en la API de enumeración el método name()
dice que:
Devuelve el nombre de esta constante enum, exactamente como se declara en su declaración enum. La mayoría de los programadores deben usar el método toString con preferencia a este, ya que el método toString puede devolver un nombre más fácil de usar. Este método está diseñado principalmente para su uso en situaciones especializadas donde la corrección depende de obtener el nombre exacto, que no variará de una versión a otra.
¿Por qué es mejor usar toString()
? Quiero decir que toString puede anularse cuando name () ya es final. Entonces, si usa toString y alguien lo anula para devolver un valor codificado, toda su aplicación está inactiva ... Además, si mira en las fuentes, el método toString () devuelve exactamente y solo el nombre. Es lo mismo.
toString()
en su enumeración, pero nadie más puede extenderla y anularla. No puedes extender las enumeraciones.