java怎么比较类是否相等

52次阅读
没有评论

共计 843 个字符,预计需要花费 3 分钟才能阅读完成。

在 Java 中,可以使用 equals() 方法来比较两个类是否相等。equals()方法是 Object 类的方法,因此所有的类都可以调用它。
比较两个类是否相等的一般步骤如下:

  1. 首先,需要在类中重写 equals() 方法。一般来说,重写 equals() 方法的同时也需要重写 hashCode() 方法。
@Override
public boolean equals(Object obj) {
// 比较自身与目标对象是否相等
if (this == obj) {return true;}
// 检查目标对象是否为 null 或类型不同
if (obj == null || getClass() != obj.getClass()) {return false;}
// 比较类的属性是否相等
MyClass other = (MyClass) obj;
return Objects.equals(this.property1, other.property1) &&
Objects.equals(this.property2, other.property2) &&
...;
}
@Override
public int hashCode() {return Objects.hash(property1, property2, ...);
}
  1. 在需要比较两个类是否相等的地方调用 equals() 方法。
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
if (obj1.equals(obj2)) {System.out.println("两个类相等");
} else {System.out.println("两个类不相等");
}

需要注意的是,如果一个类没有重写 equals() 方法,默认情况下会继承自 Object 类的 equals() 方法,该方法将会比较两个对象的引用是否相等,即比较两个对象是否指向同一个内存地址。这通常不是我们所期望的比较方式,因此建议在自定义的类中重写 equals() 方法来比较类的属性是否相等。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-22发表,共计843字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)