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

          都市淘沙者

          荔枝FM Everyone can be host

          統(tǒng)計

          留言簿(23)

          積分與排名

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

          友情連接

          閱讀排行榜

          評論排行榜

          利用ToStringBuilder 重寫POJO中的toString

          廢話少說,直接上代碼,感覺還是比較有用,貌似發(fā)現(xiàn)還有很多人在重寫POJO的toString方法時,自己拼那些POJO屬性,這個體力活還是由于ToStringBuilder來做吧。
          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 都市淘沙者 閱讀(1973) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 盐城市| 江山市| 洛浦县| 方山县| 通州区| 五华县| 阜城县| 冷水江市| 西贡区| 化州市| 宁南县| 安康市| 扎囊县| 灵台县| 托克逊县| 留坝县| 锦屏县| 枣庄市| 四子王旗| 奈曼旗| 同德县| 揭阳市| 寿阳县| 岐山县| 湘乡市| 基隆市| 原阳县| 类乌齐县| 浮梁县| 嘉峪关市| 杨浦区| 大邑县| 克拉玛依市| 西安市| 太谷县| 大庆市| 汾西县| 罗定市| 鹿邑县| 花垣县| 砀山县|