Javaでオブジェクトの中身を表示する方法

技術

はじめに

こんにちは!さいけです。

今回は、「Javaでオブジェクトの中身を表示する方法」について紹介します。

Javaでオブジェクトの中身を表示する方法

Javaでオブジェクトの中身を表示する方法ですが、ToStringBuilderのReflectionToStringメソッドを利用すれば、オブジェクトの中身を表示することができます。

ただし、上記メソッドを利用するには、依存関係を追加をしなければならないので予め追加してください。

依存関係を追加

pom.xml

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

build.gradle

dependencies {
    compile('org.apache.commons:commons-lang3:3.9')
}

最新versionは下記mvnrepositoryを参照してください

Please Wait... | Cloudflare

使用法

第一引数に表示したいオブジェクト、第二引数に出力形式を指定します

オブジェクトの中身を表示する(基本)

実装

System.out.println(ToStringBuilder.reflectionToString(personR
esponse, ToStringStyle.DEFAULT_STYLE));

出力

com.example.springbootplayground.controller.resource.PersonResponse@361b3907[name=taro,age=20]

オブジェクトの中身を改行して表示する

実装

System.out.println(ToStringBuilder.reflectionToString(personResponse, MULTI_LINE_STYLE))

出力

com.example.springbootplayground.controller.resource.PersonResponse@361b3907[
 name=taro
 age=20
]

オブジェクトの中身をフィールド名なしで表示する

実装

System.out.println(ToStringBuilder.reflectionToString(personResponse,ToStringStyle.NO_FIELD_NAMES_STYLE));

出力

com.example.springbootplayground.controller.resource.PersonResponse@361b3907[taro,20]

オブジェクトの中身をパスなしで表示する

実装

System.out.println(ToStringBuilder.reflectionToString(personResponse,ToStringStyle.SHORT_PREFIX_STYLE))

出力

PersonResponse[name=taro,age=20]

オブジェクトの中身を値のみで表示する

実装

System.out.println(ToStringBuilder.reflectionToString(personResponse,ToStringStyle.SIMPLE_STYLE));

出力

taro,20

おわりに

今回はJavaでオブジェクトの中身を表示する方法について紹介しました。

デバック、ログを仕込む際に便利ですので、ぜひ参考に利用してみてください!

コメント

タイトルとURLをコピーしました