誰か、Object
クラスで定義されているtoString()
メソッドの概念を説明してくれませんか?どのように使用され、その目的は何ですか?
Object.toString()のドキュメントより。
オブジェクトの文字列表現を返します。 オブジェクトの文字列表現を返します。一般的には、toString メソッドは、次のような文字列を返します。
"texttually representing" このオブジェクトを表す文字列を返します。 結果は、簡潔でありながら 結果は、簡潔でありながら、情報量が多く 簡潔でありながら情報量が多く、人が読みやすい表現でなければなりません。以下の通りです。 すべてのサブクラスは、このメソッドを このメソッドをオーバーライドすることを推奨します。
クラスObjectのtoStringメソッドです。 クラスのtoStringメソッドは、オブジェクトの オブジェクトのインスタンスであるクラスの名前と インスタンスであるクラスの名前、アットサイン文字 と、ハッシュコードの符号なし16進数である オブジェクトのハッシュコードの符号なし16進数表現を返します。 オブジェクトのハッシュコードを16進数で表したものです。言い換えると、このメソッドは の値に等しい文字列を返します。 のです。
getClass().getName() + '@' + Integer.toHexString(hashCode())
例
String[] mystr ={"a","b","c"};
System.out.println("mystr.toString: " + mystr.toString());
output:- mystr.toString: [Ljava.lang.String;@13aaa14a
アプリケーションのコンテキストの中で使用されることもありますが、はるかに多くの場合、デバッグの目的で使用されます。例えば、IDEでブレークポイントを押すとき、オブジェクトのメンバーを調べるよりも、オブジェクトの意味のあるtoString()
を読む方がはるかに簡単です。
toString()メソッドが何をすべきか、決まった要件はありません。慣習的に、ほとんどの場合、クラスの名前と関連するデータメンバの値を教えてくれます。多くの場合、toString()
メソッドはIDEで自動的に生成されます。
toString()`メソッドからの特定の出力に依存したり、プログラム内でそれを解析したりするのは良くない考えです。何があっても、そのようなことはしないでください。