黑马程序员技术交流社区
标题:
为什么结果和我想的不一样
[打印本页]
作者:
曹冬明
时间:
2014-4-15 02:16
标题:
为什么结果和我想的不一样
本帖最后由 曹冬明 于 2014-4-16 21:17 编辑
public class TestDemo
{
public static void main(String[] args)
{
StringBuffer a = new StringBuffer("a");
StringBuffer b = new StringBuffer("b");
append(a,b);
System.out.println(a.toString()+","+b.toString());
b = a;
System.out.println(a.toString()+","+b.toString());
}
public static void append(StringBuffer a,StringBuffer b)
{
a.append(b);
b = a;
}
}
复制代码
为什么跟我想的结果,不一样,求解释
作者:
榨菜
时间:
2014-4-15 02:26
public static void append(StringBuffer a,StringBuffer b)
{
a.append(b);
b = a; // 这个方法调用完后 这里的a,b是方法内部的引用和外部的a,b没有关系。当方法执行完后,a,b在栈中都会被擦除。 这句相当于废话。
}
复制代码
所以 你把函数里面的b=a删除 ,再考虑试试,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2