`
iwindyforest
  • 浏览: 233702 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

EqualsBuilder典型示例

阅读更多

1.判断是否为空(null),是则false

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

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


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;

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();
    }
}



  • EqualsBuilder.rar (225.1 KB)
  • 描述: EqualsBuilder典型示例 源代码
  • 下载次数: 68
分享到:
评论

相关推荐

    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已经成为主流,但在某些特定...

    Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率

    Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了...

    commons-lang3-3.3.2

    描述中的"hashCodeBuilder EqualsBuilder ToStringBuilder"提到了三个关键的类,它们都是Apache Commons Lang中用于构建对象哈希码、比较平等性和生成字符串表示的重要工具。 1. **HashCodeBuilder**: 在Java中,`...

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

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

    org.apache.commons.lang

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

    1_equals_overridingequals_

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

    commons-lang3-3.12.0.zip

    java包。 import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder;

    Jakarta Commons笔记

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

    Hibernate复合主键

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

    commons-lang

    6. EqualsBuilder/HashCodeBuilder提供了方便的方法来覆盖equals() 和hashCode()方法 7.以Range结尾的类主要提供一些范围的操作,包括判断某些字符,数字等是否在这个范围以内 8.ArrayUtils 提供了数组的复制,查找,...

    java计算同一个list中是否有相同的值

    ### Java 计算同一 List 中是否有相同值 在 Java 编程中,判断一个 `List` 中是否存在重复元素是一项常见的需求。特别是在数据处理、验证或分析等场景中,确保数据的唯一性对于维持数据完整性至关重要。...

    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的操作,包括属性的...

    java list 比较详解及实例

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

    javaclass源码-JavaForger:使用模板基于现有类生成Java源代码

    java类源码JavaForger JavaForger可以使用现有的Java类作为输入从模板创建源代码。 它读取字段,方法和其他类数据以在模板中填充变量。 JavaForger包括通用Java代码的默认模板,例如equals,...EqualsBuilder() .appen

    java开发记录方法

    `EqualsBuilder`是Apache Commons Lang中的工具类,用于构建两个对象是否相等的逻辑。 ### 5. 数据校验 ```java Validate.notNull(object, message); Validate.isTrue(expression, message); ``` `Validate`是...

Global site tag (gtag.js) - Google Analytics