知识大全 Apache Commons Lang之hashCode()、equals()

Posted 反射

篇首语:事亲尽教自天成,鉴本无尘水本清。相彼禽兮犹学习,灵乌反哺更分明。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Apache Commons Lang之hashCode()、equals()相关的知识,希望对你有一定的参考价值。

Apache Commons Lang之hashCode()、equals()  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Apache Commons Lang提供一套生成hashCode() equals()和pareTo()的API 简单易用 这个与toString()工具用法类似

  一 实现策略

   hashCode()

  通过HashCodeBuilder反射来生成 这说明类的hashCode与类中所有的域都相关

  也可以通过HashCodeBuilder实例来制定生成

   equals()

  也有两种生成方式 与toString() hashCode()的生成策略类似

   pareTo()

  与以上都类似

  二 实例

  为了测试 创佳两个类 Foo Bar 参看上篇文章 分别通过两种方式实现其hashCode()和equals()方法

   public class Foo         private String name;         private int age;         private Bar bar;         public Foo(String name int age)                 this name = name;                 this age = age;                  //省略getter/setter方法

   public class Bar         private String name;         public Bar(String name)                 this name = name;                  //省略getter/setter方法

   实现hashCode()

  反射方式

           @Override         public int hashCode()                 return HashCodeBuilder reflectionHashCode(this);         

  制定方式

           @Override         public int hashCode()                 return new HashCodeBuilder( )                                  append(name)                                  append(age)                                  append(bar)                                  toHashCode();         

   实现equals()

  反射方式

           @Override         public boolean equals(Object obj)                 return EqualsBuilder reflectionEquals(this obj);         

  制定方式

           @Override         public boolean equals(Object obj)                 boolean flag = false;                 if (obj != null && Foo class isAssignableFrom(obj getClass()))                         Foo f = (Foo) obj;                         flag = new EqualsBuilder()                                          append(name f getName())                                          append(age f getAge())                                          append(bar f getBar()) isEquals();                                  return flag;         

   生成pareTo()

  当然 实现pareTo()的前提是Foo类实现了Comparable接口 否则没啥意义

  反射实现

           public int pareTo(Object obj)                 return CompareToBuilder reflectionCompare(this obj);         

  制定实现

           public int pareTo(Object obj)                 int flag = ;                 if (obj != null && Foo class isAssignableFrom(obj getClass()))                         Foo f = (Foo) obj;                         flag = new CompareToBuilder()                                          append(name getName())                                          append(age f getAge())                                          append(bar f getBar())                                          toComparison();                                  return flag;         

cha138/Article/program/Java/JSP/201311/19465

相关参考

知识大全 Apache Commons DbUtils 快速上手

ApacheCommonsDbUtils快速上手  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Hi

知识大全 ORACLE入门之APACHE WEB SERVER管理

ORACLE入门之APACHEWEBSERVER管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 java.lang.String类运算符重载

java.lang.String类运算符重载  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Gi

知识大全 Hash算法大全(java实现)

Hash算法大全(java实现)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hash算法有很

知识大全 struts源代码阅读(Commons-Pool包)

struts源代码阅读(Commons-Pool包)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 struts源代码阅读(Commons-Beanutils包)

struts源代码阅读(Commons-Beanutils包)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 使用 Jakarta Commons 之库组件攻略

使用JakartaCommons之库组件攻略  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ja

知识大全 Apusic AS的Web应用中调用commons-logging

ApusicAS的Web应用中调用commons-logging  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 Apusic AS的Web应用中调用commons-loggi

ApusicAS的Web应用中调用commons-loggi  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Oracle使用hash分区优化分析函数查询

Oracle使用hash分区优化分析函数查询  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在O