`
heiheben
  • 浏览: 136335 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

HashCodeBuilder、EqualsBuilder的用法

阅读更多

 

用法很简单的。  
  给你举个例子,结合EqualsBuilder的用法

package   com.bryantd.hibernate.entity;   
    
  
import   java.io.Serializable;   
  
import   java.util.*;   
    
  
import   org.apache.commons.lang.builder.EqualsBuilder;   
  
import   org.apache.commons.lang.builder.HashCodeBuilder;   
    
  
public   class   Address   implements   Serializable   ...{   
  
private   Integer   id;   
  
private   String   address;   
  
private   String   telephone;   
    
  
private   User   user;   
    
  
public   Address(String   address,   String   telephone)   ...{   
  
super();   
  
//   TODO   Auto-generated   constructor   stub   
  this.address   =   address;   
  
this.telephone   =   telephone;   
  }
   
    
  
public   Address()   ...{}   
    
  
public   String   getAddress()   ...{   
  
return   address;   
  }
   
  
public   void   setAddress(String   address)   ...{   
  
this.address   =   address;   
  }
   
    
  
public   Integer   getId()   ...{   
  
return   id;   
  }
   
  
public   void   setId(Integer   id)   ...{   
  
this.id   =   id;   
  }
   
    
  
public   String   getTelephone()   ...{   
  
return   telephone;   
  }
   
  
public   void   setTelephone(String   telephone)   ...{   
  
this.telephone   =   telephone;   
  }
   
    
  
public   User   getUser()   ...{   
  
return   user;   
  }
   
  
public   void   setUser(User   user)   ...{   
  
this.user   =   user;   
  }
   
    
  
public   boolean   equals(Object   object)   ...{   
  
if   (!(object   instanceof   Address))   ...{   
  
return   false;   
  }
   
  Address   anotherAddress   
=   (Address)object;   
  
return   new   EqualsBuilder().appendSuper(super.equals(object))   
                                                      .append(
this.getAddress(),   anotherAddress.getAddress())   
                                                      .append(
this.getTelephone(),   anotherAddress.getTelephone())   
                                                      .isEquals();   
  }
   
    
  
public   int   hashCode()   ...{   
  
return   new   HashCodeBuilder().appendSuper(super.hashCode())   
                                                          .append(
this.getAddress())   
                                                          .append(
this.getTelephone())   
                                                          .hashCode();   
  }
   
    
  
/**//*   
  public   boolean   equals(Object   object)   {   
  //   TODO   Auto-generated   method   stub   
  if   (onject   ==   this)   {   
          return   true;   
  }   
  if   (object   instanceof   Address)   {   
  Address   address   =   (Address)object;   
  if   (getAddress()   ==   address.getAddress())   return   true;   
  }   
  return   false;   
  }   
    
  public   int   hashCode()   {   
  //   TODO   Auto-generated   method   stub   
  return   getTelephone().hashCode()   *   getAddress().hashCode();   
  }   
  
*/
   
  }
  
分享到:
评论

相关推荐

    commons-lang3-3.3.2

    标题中的"commons-lang3-3.3.2"指的是Apache Commons Lang库的...这样,开发者就可以便捷地利用`HashCodeBuilder`、`EqualsBuilder`和`ToStringBuilder`,以及其他众多有用的类和方法,来提升代码的效率和可维护性。

    Jakarta Commons CookBook学习笔记

    `EqualsBuilder` 和 `HashCodeBuilder` 是 Apache Commons Lang 包中提供的两个工具类,用于简化 `equals()` 和 `hashCode()` 方法的实现。这些方法对于 Java 对象来说非常重要,尤其是在将对象放入集合(如 HashSet...

    48-Java知识点 手写HashMap1

    Apache Commons Lang库中的HashCodeBuilder和EqualsBuilder可以帮助开发者更方便地实现这些方法。 此外,HashMap还有一个内部字段`modCount`,在ArrayList和HashMap中都有,用于记录结构修改的次数,主要用于并发...

    java list 比较详解及实例

    这个实现使用了 EqualsBuilder 的 reflectionEquals 方法来比较两个对象是否相等,并使用 HashCodeBuilder 的 reflectionHashCode 方法来计算对象的哈希码。 五、结论 Java List 比较详解及实例是一个重要的知识点...

    Hibernate中对数据库复合主键的支持.pdf

    这里使用了`Objects.equals()`和`Objects.hash()`方法来简化`equals`和`hashCode`方法的编写。另外,也可以通过引入Apache Commons Lang库中的`EqualsBuilder`和`HashCodeBuilder`来进一步简化代码: ```java ...

    1_equals_overridingequals_

    在实践中,为了代码的可读性和一致性,可以考虑使用Apache Commons Lang库的EqualsBuilder和HashCodeBuilder,或者使用Lombok库的@EqualsAndHashCode注解,它们可以帮助我们更方便地生成这些方法。 总的来说,重写...

    eclipse插件 org.jiayun.commons4e

    4. 配置友好:org.jiayun.commons4e插件提供了丰富的配置选项,允许用户根据项目需求定制生成的代码格式,如是否忽略特定字段,是否使用Apache Commons Lang的EqualsBuilder和HashCodeBuilder等。 安装此插件,用户...

    apache commons 帮助文档电子书

    - HashCodeBuilder:用于快速构建hashCode()方法逻辑。 - ToStringBuilder:用于快速构建toString()方法逻辑。 ***mons BeanUtils库提供了操作Java Bean属性的工具方法。包括: - BeanUtils:提供基本的属性...

    实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能

    对比两个实体类,可能涉及到对象的属性比较,例如使用Apache的EqualsBuilder和HashCodeBuilder来实现对象的equals()和hashCode()方法,以确保对象内容一致时返回相同的结果。此外,还可以使用Lombok库的@...

    Java语言Lang包下常用的工具类介绍

    EqualsBuilder类提供了许多实用的方法,可以帮助开发者快速比较两个对象是否相等。例如,reflectionEquals方法可以比较两个对象的所有成员变量等。 8. HashCodeBuilder类: HashCodeBuilder类提供了许多实用的方法...

    JakartaCommons 详细教程更助于你的基础

    - CompareToBuilder、EqualsBuilder和HashCodeBuilder:提供了简化对象比较和哈希码计算的构建器模式方法。 - ToStringBuilder和ToStringStyle:用于自定义对象的toString()方法输出格式。 2. Jakarta Commons ...

    看例子练apache_commons之lang篇

    #### 十一、EqualsBuilder、HashCodeBuilder 和 ToStringBuilder 的应用 这三个类都是为了方便地创建 `equals()`、`hashCode()` 和 `toString()` 方法。 - **EqualsBuilder**: 构建 `equals()` 方法。 - **...

    commons-lang-2.5.jar

    **对象工具**:`ObjectUtils`提供了诸如`firstNonNull()`方法,可以安全地获取多个可能为null的对象中的第一个非null值,而`EqualsBuilder`和`HashCodeBuilder`则帮助我们构建更加健壮的equals()和hashCode()方法。...

    复杂对象的比较

    Java社区提供了一些工具类和库来简化对象比较,例如Apache Commons Lang的`EqualsBuilder`和`HashCodeBuilder`,或者Google的Guava库中的`Objects.equal()`和`Objects.hashCode()`。 在实际编程中,确保复杂对象的...

    apache commons 包最新使用指南(2009英文)

    - 同时,通过 `EqualsBuilder` 类可以确保 `equals()` 方法也能够正确工作。 ##### 1.7. 自动化生成 `compareTo()` 方法 - **问题**:当需要比较两个对象时,手动编写 `compareTo()` 方法既繁琐又容易出错。 - **...

    Jakarta Commons笔记

    它包括但不限于自动生成`toString()`方法、实现`hashCode()`和`equals()`方法、数组操作、枚举支持以及日期时间处理等功能。Commons Lang的最新版本为2.1,可从Apache官网下载。 #### 包结构与功能概览 Commons ...

    commons-lang-2.6-bin.rar

    `EqualsBuilder`和`HashCodeBuilder`帮助构建更安全的`equals()`和`hashCode()`方法。 8. **文本格式化**:`FormatUtils`提供了格式化输出的功能,可以方便地处理各种格式的文本,如百分比、货币等。 9. **异常...

    apache-lang包

    `EqualsBuilder`和`HashCodeBuilder`帮助构建自定义的equals()和hashCode()方法,确保对象比较的正确性。 6. 集合操作: `CollectionUtils`和`ArrayUtils`提供了丰富的集合和数组操作,如查找、过滤、合并、反转等...

    JAVA中实现“相等”比较的深入分析.zip

    实现`equals()`和`hashCode()`的一个常见模式是使用Apache Commons Lang库的`EqualsBuilder`和`HashCodeBuilder`,它们可以简化代码并减少错误的可能性。 此外,还要注意`equals()`和`compareTo()`的区别。`...

    commons-lang3-3.7

    8. **对象创建和比较**:`ObjectUtils`和`EqualsBuilder`、`HashCodeBuilder`类提供了对象的创建、比较和深浅拷贝功能,有助于实现自定义的equals()和hashCode()方法。 9. **随机数生成**:`RandomUtils`类提供了...

Global site tag (gtag.js) - Google Analytics