java快速判断两个类是否相等
时间: 2023-11-27 14:04:03 浏览: 71
在Java中,可以使用equals()方法来判断两个对象是否相等。如果两个类都实现了equals()方法并且返回true,那么这两个类实例就相等。如果你想快速判断两个类是否相等,可以使用Object类的equals()方法,这个方法是所有类的默认实现,如果两个对象的引用地址相同,那么equals()方法返回true。
示例代码:
```
public class MyClass1 {
private int num;
private String str;
// getter和setter方法省略
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (obj.getClass() != getClass()) {
return false;
}
MyClass1 other = (MyClass1) obj;
return num == other.num && str.equals(other.str);
}
}
public class MyClass2 {
private int num;
private String str;
// getter和setter方法省略
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (obj.getClass() != getClass()) {
return false;
}
MyClass2 other = (MyClass2) obj;
return num == other.num && str.equals(other.str);
}
}
public class Main {
public static void main(String[] args) {
MyClass1 obj1 = new MyClass1();
obj1.setNum(1);
obj1.setStr("hello");
MyClass2 obj2 = new MyClass2();
obj2.setNum(1);
obj2.setStr("hello");
boolean isEqual = obj1.equals(obj2);
System.out.println(isEqual);
}
}
```
在上述代码中,MyClass1和MyClass2都实现了equals()方法,并且比较了num和str的值。在Main类中,创建了一个MyClass1对象和一个MyClass2对象,并且比较它们是否相等。由于MyClass1和MyClass2的equals()方法实现相同,因此isEqual变量的值为true。
阅读全文