equals()方法
1. 以后所有的类equals()方法需要重写,因为Object中的equals()方法比较的是两个对象的内存地址,我们应该比较的是内容,所以需要重写。
2. 如何重写?
重写规则自己定,主要是看什么和什么相等时表示两个对象相等
class User{String name;Address addr;public User() {}public User(String name, Address addr) {this.name = name;this.addr = addr;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;User user = (User) o;return Objects.equals(name, user.name) &&Objects.equals(addr, user.addr);}
}
3.基本数据类型比较使用 “==”
4. 引用数据类型(对象比较):调用equals方法
5.String 类型的equals()方法已经重写了,
判断两个字符串是否相等,最好不要使用“==”,最好调用字符串对象的equals()方法进行判断!