- 数值比较
int a=20,b=20;
a==b 数值 a,b的内容一样所以true
下面图解
- 字符串比较
String a=“aa”;
String b=“aa”;
String c=new String(“aa”);
先看看a==b在内存中的存储方式,下面图解
由于a,b存的都是常量池"aa"的地址,==比较时返回的就是true.
然后再来看 a==c 下面图解
从图中可以清晰的看出c中放的地址明显不是常量池中"aa"的地址所以a==c会返回false。
int a=20,b=20;
a==b 数值 a,b的内容一样所以true
下面图解
先看看a==b在内存中的存储方式,下面图解
由于a,b存的都是常量池"aa"的地址,==比较时返回的就是true.
然后再来看 a==c 下面图解
从图中可以清晰的看出c中放的地址明显不是常量池中"aa"的地址所以a==c会返回false。