[Java] Enum.name() vs Enum.toString()
Enumのname()とtoString()は、いずれもEnumの値を文字列で表す.
では、2つの方法の違いは何でしょうか.
name()とtoString()の主な違いは、メソッドを再定義できるかどうかです.
name()はfinalメソッドであり、再定義はできませんが、toString()は再定義できます.
WeekDay.MONDAY.name()は「MONDAY」に戻ります.
WeekDay.MONDAY.toString()は「Monday」を返します.
[注意] https://pythonq.com/so/java/32134 https://stackoverflow.com/questions/18031125/what-is-the-difference-between-enum-name-and-enum-tostring
では、2つの方法の違いは何でしょうか.
name()とtoString()の主な違いは、メソッドを再定義できるかどうかです.
name()はfinalメソッドであり、再定義はできませんが、toString()は再定義できます.
public enum WeekDay {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY;
public String toString() {
return name().charAt(0) + name().substring(1).toLowerCase();
}
}
たとえば、上記のコードを作成すると、WeekDay.MONDAY.name()は「MONDAY」に戻ります.
WeekDay.MONDAY.toString()は「Monday」を返します.
[注意]
Reference
この問題について([Java] Enum.name() vs Enum.toString()), 我々は、より多くの情報をここで見つけました https://velog.io/@nhj2927/Java-Enum.name-vs-Enum.toStringテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol