java 如何判断两个 object 类型相等
时间: 2023-08-09 21:12:16 浏览: 94
基于JavaScript判断两个对象内容是否相等
Java 中判断两个 object 类型相等有两种方法:
1. 使用 equals() 方法:equals() 方法是 Object 类中定义的方法,可以被所有类继承和使用。默认情况下,它比较的是两个对象的引用是否相等,也就是两个对象是否指向同一个内存地址。如果要比较两个对象的内容是否相等,必须在自定义类中重写 equals() 方法,并在其中实现比较两个对象内容的逻辑。
示例代码:
```java
public class MyClass {
private int value;
@Override
public boolean equals(Object obj) {
if (obj instanceof MyClass) {
MyClass other = (MyClass) obj;
return this.value == other.value;
}
return false;
}
// 其他代码
}
```
2. 使用 == 运算符:== 运算符比较的是两个对象的引用是否相等,也就是两个对象是否指向同一个内存地址。如果要比较两个对象的内容是否相等,必须在自定义类中重写 equals() 方法,并在其中实现比较两个对象内容的逻辑。
示例代码:
```java
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
boolean isEqual = obj1 == obj2; // false,因为 obj1 和 obj2 指向不同的内存地址
MyClass obj3 = new MyClass();
MyClass obj4 = obj3;
boolean isEqual2 = obj3 == obj4; // true,因为 obj3 和 obj4 指向同一个内存地址
```
阅读全文