老紫竹讨论群里有人提出了equals和==的区别,值和地址比较的区别
小a说
String tt="aa";
String yy="aa";
两个是相等的,equals和==比都是相等的,这当然是相等的,我也知道
也许是大半夜的头脑不清醒,也可能是自己技术记的不牢固吧
想了半天,看了半天才看出来
没有new,直接把tt和yy指向了内存地址中的aa,先执行了tt的时候,程序没有搜索到aa这个字符串,所以tt把aa放进了内存中,当执行yy的时候,程序搜索到了aa,所以只是把yy指向了tt,而没有另外开辟一个内存空间来放aa,但是如果是new String("aa")的话,那就是另开辟内存空间了
黑色头发 http://heisetoufa.iteye.com
如果发现本文有误,欢迎批评指正