あなたのコードは何も返しません-呼び出しの結果を出力this.toString()
します。
オーバーライドしていない限り、デフォルトの実装Object.toString()
が得られます:
クラス Object の toString メソッドは、オブジェクトがインスタンスであるクラスの名前、アットマーク文字 `@'、およびオブジェクトのハッシュ コードの符号なし 16 進数表現で構成される文字列を返します。つまり、このメソッドは次の値に等しい文字列を返します。
getClass().getName() + '@' + Integer.toHexString(hashCode())
そこにハッシュ コードがあると、同じオブジェクトへのおそらく等しい参照を簡単に見つけることができます。あなたが書く場合:
Foo foo1 = getFooFromSomewhere();
Foo foo2 = getFooFromSomewhere();
System.out.println("foo1 = " + foo1);
System.out.println("foo2 = " + foo2);
結果は同じでfoo1
あり、foo2
おそらく同じオブジェクトを参照しています。保証されているわけではありませんが、少なくとも良い指標です。この文字列形式は実際には診断にのみ役立ちます。
コードをもっと便利なものにしたい場合は、オーバーライドする必要がありますtoString
。samplethis
@Override
public String toString() {
return String.format("samplethis {a=%d; b=%d; c=%s}", a, b, c);
}