Beanクラス(toString実装クラス)
import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; public class CommonLangTestBean { private String aaa; private String bbb; private String ccc; private String ddd; private String eee; private String fff[] = {"fff0", "fff1", "fff2"}; /** * コンストラクタ。 */ public CommonLangTestBean() { } /** * aaa を取得します。 * * @return aaa */ public String getAaa() { return aaa; } /** * aaa を設定します。 * * @param aaa 設定する aaa */ public void setAaa(String aaa) { this.aaa = aaa; } /** * bbb を取得します。 * * @return bbb */ public String getBbb() { return bbb; } /** * bbb を設定します。 * * @param bbb 設定する bbb */ public void setBbb(String bbb) { this.bbb = bbb; } /** * ccc を取得します。 * * @return ccc */ public String getCcc() { return ccc; } /** * ccc を設定します。 * * @param ccc 設定する ccc */ public void setCcc(String ccc) { this.ccc = ccc; } /** * ddd を取得します。 * * @return ddd */ public String getDdd() { return ddd; } /** * ddd を設定します。 * * @param ddd 設定する ddd */ public void setDdd(String ddd) { this.ddd = ddd; } /** * eee を取得します。 * * @return eee */ public String getEee() { return eee; } /** * eee を設定します。 * * @param eee 設定する eee */ public void setEee(String eee) { this.eee = eee; } @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE); } }
実行クラス
public class CommonLangTest { /** * コンストラクタ。 */ public CommonLangTest() { } public static void main(String[] args) { CommonLangTestBean cltb = new CommonLangTestBean(); cltb.setAaa("aaahoge"); cltb.setBbb("bbbhoge"); cltb.setCcc("ccchoge"); System.out.println(cltb.toString()); } }
実行結果
ommonLangTestBean@b2fd8f[aaa=aaahoge,bbb=bbbhoge,ccc=ccchoge,ddd=<null>,eee=<null>,fff={fff0,fff1,fff2}]
スタイル指定を変更(CommonLangTestBean.java)
@Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE); }
実行結果 これが一番見やすいかな
CommonLangTestBean@b2fd8f[ aaa=aaahoge bbb=bbbhoge ccc=ccchoge ddd=<null> eee=<null> fff={fff1,fff2,fff3} ]
リフレクション使えばできると思うけど、ライブラリとして用意されているので使う価値ありそうですね。toStringを実装しておくとデバッグの時も何かと便利だし。
0 件のコメント:
コメントを投稿