为什么?难道b的分配的空间没变? y=x; 这句话有问题只不过让y指向了了x指向的地方,如果System.out.println(y);应该就是AB而b还是没有改变指向 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我编译过了。输出的结果是:AB,B 你将System.out.println(x+“,"+y); 放在static void operate(StringBuffer x,StringBuffer y)中看看结果,就是将static void operate(StringBuffer x,StringBuffer y) { x.append(y); y=x; } 该成static void operate(StringBuffer x,StringBuffer y) { x.append(y); y=x; System.out.println(x+“,"+y); } 看看是什么结果。 hotenM(CMP) 您说得果然对,但是我还是不太明白。难道x和y是对象的指针。能不能讲细致一些。谢谢啦 study_body在operate的函数里y是AB。但是为什么出来就不是了。 你可以做个测试static void operate(StringBuffer x,StringBuffer y) { x.append(y); y=x; System.out.println(x+","+y);}得到的结果是AB,AB说明在这里y=x;是有效的其实可以这么理解,y=x的有效范围在operate,而且改变的仅仅是y的指向,而真正改变变量内容的操作是append,你也可以用String来试试 y=x; 关键是这句话之前,y和b都是指向同一个地址的,当时y和b在内存中并不是同一个地址假设一个是1111,一个2222,他们都指向3333,而3333存你你的结果y=x; 之后,1111不再指向3333了,而指向了4444,但这并不影响2222任指向3333 如果输入的日期大于12月8日,则执行{...}语句,用java SE怎么表达 jbuilder项目文件转到MyEclipse 难题,高手进来解决一下证明你的实力 请教关于Myeclipse程序结构的问题。 高分求助,怎样快速有效的将work文档的内容按指定格式输出 求助:JFace对话框关闭事件的监听 有没有只针对24小时的Date类,就是说无视前面的年月日 编译通过,运行抛出异常,请指教,在线等 java.sql包和javax.sql包有什么不同??? Thread.class.getName()的疑问 关与内部类的问题 在jcreator下打点显示不出函数.大家怎么设置的
AB,B
放在static void operate(StringBuffer x,StringBuffer y)中看看结果,
就是将
static void operate(StringBuffer x,StringBuffer y)
{
x.append(y);
y=x;
}
该成
static void operate(StringBuffer x,StringBuffer y)
{
x.append(y);
y=x;
System.out.println(x+“,"+y);
}
看看是什么结果。
您说得果然对,但是我还是不太明白。难道x和y是对象的指针。能不能讲细致一些。谢谢啦
在operate的函数里y是AB。但是为什么出来就不是了。
static void operate(StringBuffer x,StringBuffer y)
{
x.append(y);
y=x;
System.out.println(x+","+y);
}
得到的结果是
AB,AB
说明在这里y=x;是有效的
其实可以这么理解,y=x的有效范围在operate,而且改变的仅仅是y的指向,而真正改变变量内容的操作是append,你也可以用String来试试
关键是这句话之前,y和b都是指向同一个地址的,
当时y和b在内存中并不是同一个地址
假设一个是1111,一个2222,他们都指向3333,而3333存你你的结果y=x;
之后,
1111不再指向3333了,而指向了4444,但这并不影响2222任指向3333