`

equalsbuilder 示例

阅读更多
1.判断是否为空(null),是则false

2.判断是否为同一类型(instanceof),否则false

3.判断是否为同一对象(==),是则true,否则执行EqualsBuilder   


Java代码
package com.iwindyforest.eb;  
 
import org.apache.commons.lang.builder.EqualsBuilder;  
 
public class User  
{  
    int id;  
    String name;  
    String sex;  
    int age;  
    String address;  
 
    public User(int id, String name, String sex, int age, String address)  
    {  
        this.id = id;  
        this.name = name;  
        this.sex = sex;  
        this.age = age;  
        this.address = address;  
    }  
 
    public int getId()  
    {  
        return id;  
    }  
 
    public void setId(int id)  
    {  
        this.id = id;  
    }  
 
    public String getName()  
    {  
        return name;  
    }  
 
    public void setName(String name)  
    {  
        this.name = name;  
    }  
 
    public String getSex()  
    {  
        return sex;  
    }  
 
    public void setSex(String sex)  
    {  
        this.sex = sex;  
    }  
 
 
 
    public int getAge()  
    {  
        return age;  
    }  
 
 
 
    public void setAge(int age)  
    {  
        this.age = age;  
    }  
 
 
 
    public String getAddress()  
    {  
        return address;  
    }  
 
 
 
    public void setAddress(String address)  
    {  
        this.address = address;  
    }  
 
 
 
    public boolean equals(User user)  
    {  
        if(user == null)  
        {  
            return false;  
        }  
 
        if(!(user instanceof User))  
        {  
            return false;  
        }  
 
        if(this == user)  
        {  
            return true;  
        }  
        else 
        {  
            return new EqualsBuilder()  
                         .append(this.getId(), user.getId())  
                         .append(this.getAddress(), user.getAddress())  
                         .append(this.getAge(), user.getAge())  
                         .append(this.getName(), user.getName())  
                         .append(this.getSex(), user.getSex)).isEquals();  
        }  
    }  


package com.iwindyforest.eb;

import org.apache.commons.lang.builder.EqualsBuilder;

public class User
{
    int id;
    String name;
    String sex;
    int age;
    String address;

    public User(int id, String name, String sex, int age, String address)
    {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.address = address;
    }

    public int getId()
    {
        return id;
    }

    public void setId(int id)
    {
        this.id = id;
    }

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getSex()
    {
        return sex;
    }

    public void setSex(String sex)
    {
        this.sex = sex;
    }



    public int getAge()
    {
        return age;
    }



    public void setAge(int age)
    {
        this.age = age;
    }



    public String getAddress()
    {
        return address;
    }



    public void setAddress(String address)
    {
        this.address = address;
    }



    public boolean equals(User user)
    {
        if(user == null)
        {
            return false;
        }

        if(!(user instanceof User))
        {
            return false;
        }

        if(this == user)
        {
            return true;
        }
        else
        {
            return new EqualsBuilder()
                         .append(this.getId(), user.getId())
                         .append(this.getAddress(), user.getAddress())
                         .append(this.getAge(), user.getAge())
                         .append(this.getName(), user.getName())
                         .append(this.getSex(), user.getSex)).isEquals();
        }
    }
}

   


Java代码
package com.iwindyforest.eb;  
 
public class EqualsBuilderTest  
{  
    User a, b;  
 
    public EqualsBuilderTest()  
    {  
 
        a = new User(1, "cyh", "male", 20, "shangdi haidian beijing");  
        b = new User(1, "cyh", "male", 20, "shangdi haidian beijing");  
        System.out.println(a.equals(null));  
        System.out.println(a.equals(new User(2, "cyh", "male", 20,  
        "shangdi haidian beijing")));  
        System.out.println(a.equals(b));  
    }  
 
    public static void main(String[] args)  
    {  
       new EqualsBuilderTest();  
    }  

分享到:
评论

相关推荐

    Jakarta Commons CookBook学习笔记

    下面的示例展示了如何使用 `EqualsBuilder` 来比较两个整型数组: ```java import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.ArrayUtils; public class ...

    Java - Learning Java Language

    本章节提供了集成的具体步骤和示例代码,帮助用户快速完成集成过程。 #### 章节七:Applets **简介** Applets是早期Java应用程序的一种形式,它们可以在浏览器中运行。尽管现在HTML5已经成为主流,但在某些特定...

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

    针对`Person`类的实现,我们可以参考以下示例代码: ```java import java.io.Serializable; public class Person implements Serializable { private String name; private String phone; private int age; /...

    1_equals_overridingequals_

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

    Jakarta Commons笔记

    通过上述示例可以看出,Commons Lang极大地简化了常见的开发任务,并提供了统一且可靠的实现方式。无论是处理字符串、枚举、异常还是日期时间,Commons Lang都能提供强大的支持,是Java开发者不可或缺的工具箱之一。...

    Hibernate复合主键

    本文将详细介绍如何在Hibernate中实现复合主键,并通过具体的代码示例进行讲解。 #### 一、复合主键概念 复合主键是指由两个或两个以上的字段共同组成的主键。在关系型数据库中,当单个字段不足以唯一标识一条记录...

    commons-lang-2.6-bin.rar

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

    common-lang3.jar

    6. **对象工具**:`org.apache.commons.lang3.builder`提供了对象比较、深拷贝等实用工具,如`EqualsBuilder`和`HashCodeBuilder`用于实现自定义的equals()和hashCode()方法。 7. **异常处理**:`org.apache....

    看例子练apache_commons之lang篇

    在代码示例中,我们首先看到了 `CharSet` 和 `CharSetUtils` 的使用案例。 - **CharSet**: `CharSet` 类可以用来定义一个字符集,例如只包含元音字母 "aeiou" 的字符集。通过调用 `CharSet.getInstance("aeiou")` ...

    复杂对象的比较

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

    apache commons 文档

    - **ToStringBuilder** 和 **EqualsBuilder**:用于重写对象的toString方法和equals方法,这些是构建对象方法中的重要工具。 ### Apache Commons BeanUtils Commons BeanUtils库专注于Java Bean的操作,包括属性的...

Global site tag (gtag.js) - Google Analytics