在java中的数据类型分为基本数据类型和引用数据类型。
1:==
1:主要用来比较基本数据类型的值是否相等
if(1==1){
System.out.println("1==1");//1==1
}
2:也用来比较引用数据类型,判断它们的地址是否相等
2:equals
equals主要用于引用数据类型。
1:Object类的equals方法(未被任何类重写)
我们看到未被重写的equals底层还是使用==,所以如果类没有重写equals方法,则比较的是对象的地址。
2:举个例子,查看String类型的equals方法(也可以自定类重写equals方法)
所以我们使用String的equals方法时,它比较的是里面字符串的值,而不是地址:
s1和s2的地址不同,内容相同,所以equals输出true,==输出false。