【发布时间】:2014-07-24 20:08:18
【问题描述】:
为什么在这段代码中我不能交换 StringBuffer 的?
public static void main(String[] args) {
StringBuffer a = new StringBuffer("One");
StringBuffer b = new StringBuffer("Two");
swap(a, b);
System.out.println("a is " + a + "\nb is " + b);
}
static void swap(StringBuffer a, StringBuffer b) {
a.append(" more");
b = a;
}
【问题讨论】:
-
@HotLicks 请不要侮辱或抨击...
-
当然,您可以让
swap方法“工作”,方法是让它交换两个对象的内容。 -
@Ordous - 抱歉。他清楚地了解 Java 的工作原理,彻底研究了 Java 是按引用调用还是按值调用,并且只是在拉扯我们的链条。
-
@HotLicks 这个问题显然质量低下,并且被多次讨论过。我想它将在几秒钟内关闭或标记为重复。用户也将因提出愚蠢的不费力问题和他提出问题的方式而获得他的反对票。向他展示这一点是正确的(如果这种情况持续存在,可能会取消提问的能力)。但是冒犯根本没有帮助。