はじめに 例外が起きてログを取る場合やデバッグ中のオブジェクトの状態を知りたい場合に、そのオブジェクトの参照をロガーやSystem.out.printlnの引数に与えたら、単に「クラス名@16進文字列」と出力されて何の手がかりも得られなかったという経験はありませんか? Javaではオブジェクト固有の情報を文字列化するためにObject#toStringメソッドが規定されています。そのためObject#toStringメソッドを実装すれば冒頭のような問題は解消します。とは言え、複数のクラスがある場合にすべてにきちんと実装するのはそれなりに手間がかかりますし、利用しているすべての関連するオブジェクトがtoStringで内部情報を出力することを求めるのはいささか無理があるかも知れません。 この記事では、情報を取得したいオブジェクトが持つフィールドの情報を文字列化するユーティリティクラスの実装につ