目录
- equals() 的作用
- equals() 与 == 的区别
- hashCode() 的作用
- hashCode() 和 equals() 之间的联系
- 为什么重写 equals() 时必须重写 hashCode() 方法
- 总结
1. equals() 的作用
equals()
方法的主要作用是用来判断两个对象是否相等。这个方法在 Object
类中被定义,这意味着所有的 Java 对象都继承了这个方法。默认情况下,Object
类的 equals()
方法比较的是对象的内存地址,而不是对象的内容。
java
public class EqualsDemo {
public static void main(String[] args) {
String str1 = new String("hello");
String str2 = new String("hello");
System.out.println(str1.equals(str2)); // true, 因为String类重写了equals方法
}
}
2. equals() 与 == 的区别
在 Java 中,==
和 equals()
的作用不同:
==
操作符:用于比较两个变量的值。对于基本数据类型,==
比较的是变量的值;对于引用数据类型,==
比较的是对象的内存地址。equals()</