测试StringBuffer方法
对于java的参数传递到底是值传递还是引用传递,一直是一个很疑惑的概念,到现在为止还是不怎么清楚,不过对于StringBuffer 和String类的参数传递也是一知半解。现在就做一个简单的例子测试
public class testBuffer {public static void main(String[] args) {StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operate(a,b); String s1="A"; String s2="B"; operate(s1,s2); System.out.println(a + " " + b);//1 System.out.println(s1 + " " + s2);//1 } private static void operate(StringBuffer a, StringBuffer b) { a.append(b); b = a;//2 } private static void operate(String a, String b) { a=a+b; b = a;//2 } }?
?
运行结果为:
AB B
A B
?
也就是说当参数为StringBuffer时,当两个参数为A B时,得到的结果为AB B
党参数为String,两个参数为A B时,得到的结果为A B。
我也不知道这个到底是什么原因,只能死记?