== 运算符
== 是一个比较运算符
-
既可以判断基本类型,又可以判断引用类型
-
如果判断基本类型,判断的是值是否相等,示例: int i = 10; double d = 10.0(底层会发生自动类型转换)
-
如果判断引用类型,判断的是地址是否相等,即判断是否是同一个对象
代码示例
public class prr {
public static void main(String[] args) {
int a = 5;
double b = 5.0;
System.out.println(a == b);
aaa aaa = new aaa();
aaa bbb = new aaa();
aaa ccc = aaa;
System.out.println(aaa == bbb);
System.out.println(ccc == aaa);
}
}
class aaa {
}
class bbb {
}
true
false
true
代码解析
-
10和10.0比较,底层会发生自动类型转换,结果为true
-
aaa和bbb指向的是不同的对象空间,返回的地址不同,结果为false
-
ccc和aaa指向的是同一段对象空间,地址相同,结果为true