equals()和“==”操作用于对象的比较,检查俩对象的相等性,但是他们俩的主要区别在于前者是方法,后者是操作符。
总结:
1 一般使用比较原生类型如:boolean、int、char等等,使用equals()比较对象。
2 如果两个引用指向相同的对象返回true,equals()的返回结果依赖于具体业务实现,一般重写equals方法时,同样重写hashcode方法,默认的equals方法实现是与“”操作一样的。
3 字符串的对比使用equals()代替操作符
参考代码: EqualsTest
// "=="和equals测试
public class EqualsTest {
public static void main(String[] args) {
int a = 1;
int b = 1;
int c = 2;
System.out.println(a == b); // true
System.out.println(a == c); // false
String s1 = new String("str");
String s2 = new String("str");
System.out.println("s1 == s2: " + (s1 == s2)); // false,比较的是内存地址,引用
System.out.println("s1 equals s2: " + (s1.equals(s2))); // true
// 对象的比较一般重写equals和hashcode方法
Student stu1 = n