Apache CommonsのCommons LangにToStringBuilderという良いビルダーがあります。
ToStringSample.java
package org.yuichi;
import java.util.Map;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.google.common.collect.Maps;
public class ToStringSample {
private Map<String, String> map = Maps.newHashMap();
public ToStringSample() {
map.put("sample1", "hello");
map.put("sample2", "world");
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
}
}
例えば、このようにtoString()をオーバーライドするとtoString()はこんな感じになります。
org.yuichi.ToStringSample@2352544e[
map={sample1=hello, sample2=world}
]
出力の形式はreflectionToString()の第2引数に色々渡すことで、変更できます。