关于append()方法原理

clarezzx 2015-07-30 09:10:44
小白求大神帮忙解释下下面这段代码的.append()方法:
package java_se_01;

public class AppendDemo {
public static void main(String[] args) {
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operator(a, b);
System.out.println(a+","+b);

}
public static void operator(StringBuffer x,StringBuffer y){
x.append(y);
y=x;
}

}
输出结果是AB,B

为什么不是AB,AB呢?
...全文
394 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
日知己所无 2015-07-31
  • 打赏
  • 举报
回复
引用 4 楼 clarezzx 的回复:
[quote=引用 1 楼 qq118194716 的回复:] java只有值传递 传递都是引用的副本 有2个结论很容易总结出来: 1、引用的副本指向其他对象不影响原引用(局部变量使用后抛弃) 2、引用的副本所指对象被方法改变,将影响到原对象(副本和原引用都是指向的同一个对象)
能不能说具体点。。。[/quote] 看看介个 http://bbs.bccn.net/thread-438019-1-1.html
clarezzx 2015-07-31
  • 打赏
  • 举报
回复
引用 1 楼 qq118194716 的回复:
java只有值传递 传递都是引用的副本 有2个结论很容易总结出来: 1、引用的副本指向其他对象不影响原引用(局部变量使用后抛弃) 2、引用的副本所指对象被方法改变,将影响到原对象(副本和原引用都是指向的同一个对象)
能不能说具体点。。。
逍遥jc 2015-07-31
  • 打赏
  • 举报
回复
引用 2 楼 sinat_29442431 的回复:
确定不是AB,A?
AB,B吧。a.append(b),b并不会改啊。
呦丶写BUG呢 2015-07-30
  • 打赏
  • 举报
回复
确定不是AB,A?
飏飏一蝶 2015-07-30
  • 打赏
  • 举报
回复
java只有值传递 传递都是引用的副本 有2个结论很容易总结出来: 1、引用的副本指向其他对象不影响原引用(局部变量使用后抛弃) 2、引用的副本所指对象被方法改变,将影响到原对象(副本和原引用都是指向的同一个对象)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧