s 已经是一个新的String 对象了,
而StingBuffer可以变长的与String的区别在于StringBuffer操作时都是同一个对象,没有再产生新的StringBuffer对象!

解决方案 »

  1.   

    哦,是不是因为String可以隐蔽构造器来创建实例的缘故?
    String s="111";
    s+="222"; // 其实是String object reference variable s“指向”了一个新的实例
    是这样理解吧?
      

  2.   

    String s="123";
        String s1=s;
        s+="222";
        System.out.println("s="+s+" s1="+s1+" s=s1="+(s==s1)); 
    输出:
    s=123222 s1=123 s=s1=falseif not a new String object reference variable s then (s==s1) must be true!
      

  3.   

    多个字符串连接尽量少适用“+”
    应使用StringBuffer.append()