Dict.CN 在線詞典, 英語(yǔ)學(xué)習(xí), 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統(tǒng)計(jì)

          留言簿(23)

          積分與排名

          優(yōu)秀學(xué)習(xí)網(wǎng)站

          友情連接

          閱讀排行榜

          評(píng)論排行榜

          利用ToStringBuilder 重寫(xiě)POJO中的toString

          廢話少說(shuō),直接上代碼,感覺(jué)還是比較有用,貌似發(fā)現(xiàn)還有很多人在重寫(xiě)POJO的toString方法時(shí),自己拼那些POJO屬性,這個(gè)體力活還是由于ToStringBuilder來(lái)做吧。
          import org.apache.commons.lang.builder.EqualsBuilder;
          import org.apache.commons.lang.builder.HashCodeBuilder;
          import org.apache.commons.lang.builder.ToStringBuilder;
          import org.apache.commons.lang.builder.ToStringStyle;

          public class MainClass {
              
          public static void main(String[] args) {
                  MyClass one 
          = new MyClass("Becker"35);
                  MyClass two 
          = new MyClass("Becker"35);
                  MyClass three 
          = new MyClass("Agassi"33);

                  System.out.println(
          "One>>>" + one);
                  System.out.println(
          "Two>>>" + two);
                  System.out.println(
          "Three>>>" + three);

                  System.out.println(
          "one equals two? " + one.equals(two));
                  System.out.println(
          "one equals three? " + one.equals(three));

                  System.out.println(
          "One HashCode>>> " + one.hashCode());
                  System.out.println(
          "Two HashCode>>> " + two.hashCode());
                  System.out.println(
          "Three HashCode>>> " + three.hashCode());
              }

          }


          class MyClass {
              
          private String name = null;
              
          private int age = 0;

              
          public MyClass(String name, int age) {
                  
          this.name = name;
                  
          this.age = age;
              }


              
          public boolean equals(Object obj) {
                  
          return EqualsBuilder.reflectionEquals(this, obj);
              }


              
          public String toString() {
                  
          return ToStringBuilder.reflectionToString(this,
                      ToStringStyle.MULTI_LINE_STYLE);
              }


              
          public int hashCode() {
                  
          return HashCodeBuilder.reflectionHashCode(this);
              }

          }


          輸出的結(jié)果如下:
          One>>>MyClass@743399[
                      name=Becker
                      age=35
                      ]
                      Two>>>MyClass@1d8957f[
                      name=Becker
                      age=35
                      ]
                      Three>>>MyClass@3ee284[
                      name=Agassi
                      age=33
                      ]
                      one equals two? true
                      one equals three? false
                      One HashCode>>> 462213092
                      Two HashCode>>> 462213092
                      Three HashCode>>> -530629296
            Download:  CommonLangToStringBuilder.reflectionToString.zip( 200 k)

          直接到 http://www.java2s.com/Tutorial/Java/0500__Apache-Common/ToStringBuilder.htm 上看看吧:)

          posted on 2010-11-27 15:26 都市淘沙者 閱讀(1970) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 屯留县| 镇江市| 沁阳市| 马龙县| 广丰县| 海口市| 阳城县| 龙江县| 广宗县| 汽车| 贵阳市| 广水市| 东港市| 盐池县| 荆门市| 奈曼旗| 连州市| 富锦市| 阳西县| 黔东| 海林市| 保康县| 陇南市| 讷河市| 通城县| 玉林市| 定边县| 海原县| 巴林左旗| 新宁县| 阆中市| 察隅县| 宝鸡市| 青河县| 红桥区| 托克逊县| 曲靖市| 康乐县| 广州市| 新建县| 定襄县|