当前位置: 代码迷 >> J2SE >> StringBuffer形参传到
  详细解决方案

StringBuffer形参传到

热度:121   发布时间:2016-04-23 19:41:19.0
StringBuffer形参传入
public static void main(String[] args) {


StringBuffer a = new StringBuffer("a");
StringBuffer b = new StringBuffer("b");

change(a,b);

System.out.println(a);
System.out.println(b);
}


static void change(StringBuffer a,StringBuffer b){
a.append(b);
b=a;
}

打印出来是
ab
b
什么a变了,但是b没有变
------解决思路----------------------
楼主需要理解下Java中方法栈的知识,方法栈中定义的变量为方法局部变量,各方法之间的局部变量都是相互独立的。方法之间的相互调用允许进行值传递(基本类型数据,引用地址值数据)。楼主的代码可以用下面的抽象图简单解释,如下图:
  相关解决方案