アットウィキロゴ

Objectsクラス

ObjectsはクラスのtoStringメソッド、hashCodeメソッド等の作成を便利にするクラスです。

toString


以下のメンバ変数をもつクラスがあるとします。
Integer value1 = 1;
Integer value2 = 1;
Integer value3 = 1;
String valueS1 = "apple";
String valueS2 = "orange";

toStringは以下のような実装が考えられます。
@Override
public String toString() {
    return "value1 = " + value1 + ", value2 = " + value2 + ", value3 = " + value3
                  + ", valueS1 = " + valueS1 + ", valueS2 = " + valueS2;
}

toStringの実行結果は以下になります。
value1 = 1, value2 = 1, value3 = 1, valueS1 = apple, valueS2 = orange

上記をguavaで実装すると以下になります。
@Override
public String toString() {
    return Objects.toStringHelper(this)
    .add("value1", value1)
    .add("value2",value2)
    .add("value3", value3)
    .add("valueS1", valueS1)
    .add("valueS2", valueS2).toString();
}

toStringの実行結果は以下になります。
Object2{value1=1, value2=1, value3=1, valueS1=apple, valueS2=orange}
書式は固定されてしまうのですが、addをしていくだけで同様の結果を得る事ができました。

あまり使わないかもしれませんが、以下のようにすると、メンバ変数がNullの場合nullだった文字の組み合わせを出力しない事ができます。
Objects.toStringHelper(this).omitNullValues().add(…).add(…)…..
最終更新:2014年01月05日 21:16
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。