メソッドname()
でenum apiを見ると、次のように書かれています。
enum宣言で宣言されているとおりに、このenum定数の名前を返します。toStringメソッドはよりわかりやすい名前を返す可能性があるため、ほとんどのプログラマは、これよりもtoStringメソッドを使用する必要があります。このメソッドは、正確さが正確な名前の取得に依存する特殊な状況での使用を主な目的として設計されており、リリースごとに異なることはありません。
なぜ使用するのが良いtoString()
ですか?つまり、name()がすでにfinalである場合、toStringがオーバーライドされる可能性があります。したがって、toStringを使用し、誰かがそれをオーバーライドしてハードコードされた値を返す場合、アプリケーション全体がダウンします...また、ソースを見ると、toString()メソッドは正確に名前のみを返します。同じことです。
toString()
enumでオーバーライドできますが、それを拡張してオーバーライドすることはできません。列挙型を拡張することはできません。