当前位置: 代码迷 >> Java相关 >> String字符串的构造
  详细解决方案

String字符串的构造

热度:26   发布时间:2007-01-14 14:06:17.0
String字符串的构造
请解释下:
String s1 = "abc";
String s2 = "abc";

String s1 = new String("abc");
String s2 = new String("abc");
这两种方式的区别。。。(好像有关字符串连接池的)
有的印像但不是很清楚!!请那位比较懂的说的越详细越好!!!
搜索更多相关的解决方案: String  构造  字符  

----------------解决方案--------------------------------------------------------
String s1 = "abc"; //这里构造一个字符串对象"abc"放到字符串常量池中
String s2 = "abc"; //这里不会构造字符串对象,因为"abc"已经存常量池当中了,所以s1和s2将会指向同一个地址,也就是说
System.out.println( s1==s2 );//将会输出true

但是相同的道理放到 new String();中就不一样了,记住一旦 new String后,那么这个类就是一个普通的类,就不会再放到常量池中去了
所以第二次的s1和s2
System.out.println( s1==s2 ); //将会输出false

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

哦 原来是我记反了  
我还以为用NEW之后是放到常量池中的


----------------解决方案--------------------------------------------------------
呵呵,长知识了。。
----------------解决方案--------------------------------------------------------
我也长见识了,谢谢,我还没有用到!!!
----------------解决方案--------------------------------------------------------
  相关解决方案