解释如下:
1、至于输出前部分为“AB”我就不讲了, 你也知道
2、你觉得奇怪的是后部分为“B”为什么没有改变!!!
实际上是你的“y = x;” 错了,不能这样写!
你可以这样
y.setCharAt(0,'a'); 也可以用StringBuffer的insert方法
1、至于输出前部分为“AB”我就不讲了, 你也知道
2、你觉得奇怪的是后部分为“B”为什么没有改变!!!
实际上是你的“y = x;” 错了,不能这样写!
你可以这样
y.setCharAt(0,'a'); 也可以用StringBuffer的insert方法
java的参数是按值传递的。
在方法中你不可以改变b的地址。
所以在函数返回后b仍然等于B.
在main中a,b代表的都是實例,也就是一個地址值
你可以調用這個實例的方法去改變他的屬性,但你不可能去改變這個實例
在內村中的地址
StringBuffer temp=new StringBuffer(x.toString());
x.append(y);
y.insert(0,temp);
}
这个函数体可以返回AB AB的调用函数时候任何对y的赋值操作都只局限于地址的改变,而在返回时全部无效,但是对这个地址所指向的对象的操作都会保留下来