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

【散分】关于String的问题请你不要再问了!
关于String a = "aaa";String s=new String("abc");创建几个对象之类的月经帖请不要再发了。
CSDN总是有这样的问题。我最近看火龙果也对这种问题有愤怒的感觉。
所以今天发一个终结帖,并求上帝保佑不要再出现这种问题。虽然CSDN新手很多,包括我。

月经终结帖
http://topic.csdn.net/u/20100726/20/c9d95fe3-8c3e-4522-8ae1-f1267a027a92.html?91797



十楼回答:
1.String a1="abc"; 生成一个poll中的对象abc
  String a2="abc"; 不会新生成对象,因为poll中已经有abc了
  String a3="abcd"; 生成一个poll中新对象abcd
  总共创建几个String对象? 答案:2个,都在poll中

2.String a1=new String("abc"); 生成两个新对象,poll一个,堆一个
  String a2=new String("abc"); 生成一个新对象,堆中,引用poll中的abc
  String a3=new String("abcd"); 生成两个新对象,同第一句
  总共创建几个String对象?答案:5个,poll中2个,堆中3个
 
 
记不住,可以复制到TXT中。

------解决方案--------------------
呵呵
------解决方案--------------------
年关将至,心情不好
------解决方案--------------------
探讨
年关将至,心情不好

------解决方案--------------------
狂顶……String之类的,看的多了,和StringBuilder、StringBuffer比较的多了,自然问题就解决了……
------解决方案--------------------
赶紧过年吧 ! 明年让我找个好工作
------解决方案--------------------
同意 ,这种问题CSDN最常见到~
------解决方案--------------------
看了这帖,瞬间迷糊了
------解决方案--------------------
顶。。。。。
------解决方案--------------------
哇哦!!!
------解决方案--------------------
支持LZ,是该停下来了。。。。。。。
------解决方案--------------------

------解决方案--------------------
来过 呵呵
------解决方案--------------------
我也不知道有几个 我只关注你给多少钱给我
------解决方案--------------------
赶紧过年吧 !
+1
------解决方案--------------------
头晕眼花
------解决方案--------------------
小顶! 眼花花!!!
------解决方案--------------------
天...与楼主同感。
这东西似乎根绝不了啊...
------解决方案--------------------

------解决方案--------------------
不好停啊,要不楼主写一篇新手必读得了,然后把这种问题一一罗列,第一条最好是怎么google,baidu,然后置顶,不定期更新。

------解决方案--------------------
探讨
另外是我自己的补充:
我的环境为JDK1.5以上
编译期间相同字符串将指向同一引用,编译期间拼接字符串最终结果相同将指向同一引用。

Java code


String str1 = "1" + "1";
String str2 = "11";
System.out.println(str1 == "11");//true
Sy……

------解决方案--------------------

------解决方案--------------------
支持一下。。。
------解决方案--------------------
看一下源码自然就清楚了