class testString
{
public static void main(String args[])
{
 String str1,str2,str3;
 str1=str2=str3="Appli";
 
 str1.concat("cation");
 str2=str2.concat("cation"); System.out.println("str1="+str1);
 System.out.println("str2="+str2);
 System.out.println("str3="+str3);
}
}为什么结果是
str1=Appli
str2=Application
str3=Applistr1为什么还是Appli,在内存里,它也还是这个值吗?还是已经变了,只是没有打印出来?
哦不懂

解决方案 »

  1.   

    str1.concat("cation"); 的返回值被丢弃了。
      

  2.   

    给的分数多点啊,太小气了 str1.concat("cation");
    返回的是另一个字符串
      

  3.   

    str1.concat("cation");相当于产生了一个新的字符串在内存中,但是没有明确的赋给一个变量,而str1仍然不变str2=str2.concat("cation");  产生了一个新的字符串,并且赋给了str2
      

  4.   

    好吧,可以再加5分,但不能再多了, 觉得这个问题比较简单,嘿嘿就我不会5555~~~但怎么给别人分?以前没在csdn里看过,所以不知道呢。注:会加分,嘿嘿。。