请教两个String对比的内存问题
“beijing”==“beijing”;
“beijing”.equalsIgnoreCase(new String(“beijing”))
这两句话在内存中分别是怎么比对String型值的?
返回结果分别是神马?
------解决方案--------------------
String的【==】操作也是比较地址的,只是相同的字符常量指向同一个地址罢了。(见下面代码,返回false)
而String.equal(),就不用多说了,这个大家都知道,比较字符串内容。
String a = new String("a");
String b = new String("a");
System.out.println(a == b);