当サイトは、アフィリエイト広告を利用しています

javaでオブジェクトの中身を出力する方法

作成日:2022月04月20日
更新日:2022年09月18日

簡単な動作確認時にjavaのオブジェクトの中身を見たい時が多々あり
調べてみると表示させる方法があったのでメモ。

普通に出力した場合

Personクラスを作成する

Person.java
public class Person {
private final int id;
private final String name;
private final String address;
Person(int id,String name, String address) {
this.id = id;
this.name = name;
this.address = address;
}
public int getId() {
return this.id;
}
public String getName() {
return this.name;
}
public String getAddress() {
return this.address;
}
}

実行してログ出力する

Main.java
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) throws Exception {
Person pobj = new Person(1,"TANAKA","東京");
System.out.println(pobj);
}
}
// 結果
// Person@3fee733d

オブジェクトの中身が見えない...
ObjectクラスのtoString()メソッドが実行されているのが原因

オブジェクトの中身を表示させる

PersonクラスでtoString()メソッドをオーバーライドする

Person.java
public class Person {
private final int id;
private final String name;
private final String address;
private final int age;
Person(int id,String name, String address,int age) {
this.id = id;
this.name = name;
this.address = address;
this.age = age;
}
public int getId() {
return this.id;
}
public String getName() {
return this.name;
}
public String getAddress() {
return this.address;
}
public int getAge() {
return this.age;
}
@Override
public String toString()
{
return "{" + this.id + " " + this.name + " " + this.address + this.age +"}";
}
}

再度実行してみると

log
{1 TANAKA 東京11}

実行確認

javaObjectの中身実行確認

まとめ

javaの参考書などでtoStringメソッドをオーバーライドすることは見かけたこと多かったが
最近やっと意味がわかった...

参考書籍

javaの技術書としては下記が参考になりました。
java8のSteramAPIについても詳しく書かれているのでおススメです!

参考サイト

新着記事

タグ別一覧
top