黑马程序员技术交流社区
标题:
作用域吗?
[打印本页]
作者:
秦冲
时间:
2011-11-4 11:14
标题:
作用域吗?
public class TestRef {
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;
}
}
复制代码
输出结果:
ab,b
ab,ab
这个是因为作用域的问题吗?
作者:
齐国峰
时间:
2011-11-4 11:24
程序按顺序执行,第六行a="ab";b="b"第八行a="ab";b="ab".
作者:
吉许
时间:
2011-11-4 11:42
第六 行调用append方法将b添加到a,那么Buffer a中的内容就是ab了.程序第八行把a赋给b,Buffer b中的内容也成为ab了.
你在末尾
System.out.println(a==b);
System.out.println(a.equals(b));
显示的都是true.就明白他们是同一个对象了.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2