本帖最后由 唐宋元明清 于 2013-11-6 16:08 编辑
String s1="abc";String s2="abc"; //s1和s2都是引用的 堆内存String常量池中的对象"abc"的地址。
s1==s2; //==永远比较的是内存中的地址,s1和s2的地址 ,指向的都是一个地址所以比较结果为true
s1.equals(s2); //Object中原始的equals的语法:public boolean equals(Object obj){this==obj} 比较的是对象的引用地址值,String中equals重写为比较内容和地址值(内容相同为true,地址相同也为true)。
|