ToStringBuilderでtoStringメソッドを上書きする方法

ToStringBuilderを利用してtoStringメソッドをオーバーライドする際には、以下の手順で行います。

  1. org.apache.commons.lang3.builder.ToStringBuilder
  2. オーバーライド
  3. 文字列に変換

サンプルコードを以下に示します。

import org.apache.commons.lang3.builder.ToStringBuilder;

public class MyClass {
    private String name;
    private int age;

    // 构造函数、getter和setter等省略

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

上記の例では、MyClassクラスのtoStringメソッドをオーバーライドし、ToStringBuilderのreflectionToStringメソッドを使って、文字列表現を作成しました。このメソッドはクラスの全てのフィールドを使用して、文字列表現を作成し、プライベートフィールドも含みます。

オブジェクトのtoStringメソッドを呼び出すと、MyClass@123abcなどのデフォルトの文字列表現が返されます。しかし、ToStringBuilderを使ってtoStringメソッドをオーバーライドすると、MyClass[name=John, age=25]のようにフィールドと値を含むさらに詳しい文字列表現が返されます。

bannerAds