对于“==”符号
在对象比较上:用于比较两个对象的内存是否相同
在(int、float、double)上:用于比较两者的值是否相同
对于equals
默认情况下,也就是继承Object类的equals 方法,用于比较两个对象的内存是否相同,其底层的实现其实也是使用“==”这个操作符。
在开发中一般的话会重写该equals方法,让其能比较对象里面的属性是否相同,具体的重写方法如下
例如,如果我们定义了一个Person类,其中包含姓名(name)和年龄(age)两个属性,我们可以重写equals()方法来比较两个Person对象的姓名和年龄是否相等,代码如下:
public class Person {
private String name;
private int age;
// 构造方法、getter和setter等省略
@Override
public boolean equals(Object obj) {
if (obj == this) { // 如果是同一个对象,返回true
return true;
}
if (!(obj instanceof Person)) { // 如果不是Person类的实例,返回false
return false;
}
Person other = (Person) obj;
return Objects.equals(this.name, other.name) && this.age == other.age;
}
}