1.==
用来比较变量的值是否相同
基本数据类型:比较的是它们的值是否相同
引用数据类型:比较的是它们的内存地址是否是同一地址
注意:如果比较的是基本数据类型的包装类,比如Integer。那么比较的也是它们的值是否相同,相当于是在比较基本数据类型。因为这里涉及到了包装类的自动装箱/自动拆箱问题。
java
@Test
public void test10(){
Integer num = 10;
if (num == 10){ // 包装类使用 == 比较的是它们的值
System.out.println("num == 10 结果为 true"); // 会打印这个语句
}
}
2.equals()
equals()是Object类中的一个方法,Java中的所有类都继承了Object,因此所有的类都有equals()
java
// Object中定义的 equals()方法如下:
public boolean equals(Object obj) {
return (this == obj);
}
不重写equals():实际使用的也是==操作符,比较的是它们的内存地址是否是同一地址
重写equals():可以自己定义equals()的比较逻辑,一般是用来比较String对象的内容是否相同