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

          都市淘沙者

          荔枝FM Everyone can be host

          統(tǒng)計(jì)

          留言簿(23)

          積分與排名

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

          友情連接

          閱讀排行榜

          評(píng)論排行榜

          利用ToStringBuilder 重寫POJO中的toString

          廢話少說(shuō),直接上代碼,感覺(jué)還是比較有用,貌似發(fā)現(xiàn)還有很多人在重寫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)航:
           
          主站蜘蛛池模板: 中卫市| 青神县| 芜湖市| 嘉禾县| 公安县| 台湾省| 汝州市| 九龙城区| 侯马市| 翁牛特旗| 获嘉县| 灵丘县| 龙岩市| 庆安县| 城市| 塘沽区| 南华县| 东平县| 云和县| 同心县| 桐乡市| 施甸县| 梨树县| 武鸣县| 油尖旺区| 丽江市| 桃园市| 屯门区| 西乌珠穆沁旗| 长白| 安多县| 新营市| 双柏县| 罗甸县| 福贡县| 阳东县| 阿尔山市| 昌吉市| 延津县| 辛集市| 双流县|