日期:2014-05-20  浏览次数:20708 次

String类的一点感想
20、以下二条语句返回值为 true 的有:
A:“beijing”==“beijing”;
B:“beijing”.equalsIgnoreCase(new String(“beijing”));【基础】
答:A 和 B 。

String s1="on e";
s1.trim();
syso(s1)//on e

是不是这样 因为string是final类  在jvm对他进行操作的时候是不是有一个lazy机制  没有操作是不会被复制,
要是被操作 就会被复制 然后在新的string上面进行操作,
希望大神们指点  另外关于equals相等 hashcode一定相等吗  set和hashcode的关系 求指点
string final类 lazy

------解决方案--------------------
1、String创建几个对象的问题:http://www.iteye.com/topic/774673

2、“==”与equals问题:http://www.iteye.com/topic/1121144
------解决方案--------------------
建议你看一下《Effective java》这本书,你的问题里面有比较全面的解释。
------解决方案--------------------
“另外关于equals相等 hashcode一定相等吗?”
如果该类没有重写equals和hashcode方法的话,那么两个方法返回值(true/false)的结果是一致的,但是如果重写了以上两个方法的话,那就不一定了,主要还是要看源码的、反正java是开源的,你就直接进入源码看看他是怎么写的吧、