如何在Java中实现自定义类型的相等性比较

   2024-10-01 4820
核心提示:要在Java中实现自定义类型的相等性比较,需要重写自定义类型的equals()方法和hashCode()方法。equals()方法用于比较两个对象是否

要在Java中实现自定义类型的相等性比较,需要重写自定义类型的equals()方法和hashCode()方法。equals()方法用于比较两个对象是否相等,而hashCode()方法用于返回对象的哈希值,以便在哈希表等数据结构中使用。

以下是一个示例实现:

public class CustomType {    private int id;    private String name;    // 构造方法等    @Override    public boolean equals(Object obj) {        if (this == obj) {            return true;        }        if (obj == null || getClass() != obj.getClass()) {            return false;        }        CustomType other = (CustomType) obj;        return id == other.id && Objects.equals(name, other.name);    }    @Override    public int hashCode() {        return Objects.hash(id, name);    }}

在上面的示例中,重写了equals()方法和hashCode()方法,其中equals()方法比较了两个CustomType对象的id和name属性是否相等,而hashCode()方法返回了对象的哈希值,通过id和name属性计算得到。

通过重写equals()方法和hashCode()方法,可以确保在使用自定义类型进行相等性比较时,能够正确地判断对象是否相等。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号