读书人

关于append的方法解决方案

发布时间: 2012-01-22 22:38:43 作者: rapoo

关于append的方法
public class Test03


{



  public static void main(String[] args)
  {
   StringBuffer s= new StringBuffer("good");
   StringBuffer s2=new StringBuffer("bad");
   test(s,s2);
   System.out.println(s);
   System.out.println(s2);
  }
  

public atatic void test(StringBuffer s,StringBuffer s2)
{
System.out.println(s);//1
System.out.println(s2);//2
s2=s;//3
s=new StringBuffer("new");//4
System.out.println(s);//5
System.out.println(s2);//6
s.append("hah");//7
s2.append("hah");//8
}
}

这个程序不能输出怎么改??还有最后两个s.append("hah")
s2.append("hah")为什么一个添加到了字符串里,一个没有被添加

[解决办法]
为了解释方便将test方法的参数名改成a,b。代码如下

Java code
    public static void test(StringBuffer a, StringBuffer b) {        System.out.println("1--->" + a);// 1        System.out.println("2--->" + b);// 2        b = a;// 3        a = new StringBuffer("new");// 4        System.out.println("5--->" + a);// 5        System.out.println("6--->" + b);// 6        a.append("hah");// 7        b.append("hah");// 8        System.out.println("7--->" + a);// 9        System.out.println("8--->" + b);// 10    }    public static void main(String[] args) {        StringBuffer s = new StringBuffer("good");// d1        StringBuffer s2 = new StringBuffer("bad");// d2        test(s, s2); // d3        System.out.println(s);// d4        System.out.println(s2);// d5    } 

读书人网 >J2SE开发

热点推荐