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是开源的,你就直接进入源码看看他是怎么写的吧、