1

私は持っていHashMapます。値を取得し、ユーザーコードのキーを使用して出力しようとしています。

コードは次のとおりです。

lib.addbook(book2.getISBN(), book2);
Book ret = lib.getbook("978-81-291-1979-7");
System.out.println(ret);

現在の出力:

O / P:LibraryPackage.Book@527c6768

出力を文字列にし、本の住所ではなく実際の値を表示したいと思います。

4

2 に答える 2

5

toString()クラスにメソッドを実装(およびオーバーライド)しBook、出力を指定する必要があります。例えば:

@Override
String toString()
{
  return this.author+": " + this.title;
}
于 2012-07-25T12:02:10.917 に答える
0

commons-langは、.toString()メソッドをオーバーライドしたくない場合、またはさまざまな状況で別の方法で表現する必要がある場合に、このための優れたユーティリティを提供します。

リフレクションに基づいて文字列を作成するための呼び出しは次のとおりです。

String str = ToStringBuilder.reflectionToString(object);

実際、これは.toString()メソッド自体を実装するための優れた方法です。このクラスの別の代替使用法は、文字列のフィールドごとの作成です。

String str = new ToStringBuilder(object)
    .append("field1", field1)
    .append("field2", field2)
    .toString();
于 2012-07-25T13:15:24.237 に答える