另一个类的静态函数不会修改传入的引用

时间:2013-04-01 07:02:56

标签: java

真的很困惑为什么会发生这种情况:

public class OneClass {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("1111");
        AnotherClass.updateParameter(sb);
        System.out.print(sb);
    }
}

public class AnotherClass {
    public static void updateParameter(StringBuilder args) {
        args.append("2222");
    }
}

Output: 1111

任何人都可以解释一下,非常感谢!

1 个答案:

答案 0 :(得分:6)

您展示的代码没有您描述的行为(而是打印11112222)。

最可能的解释是您没有运行您认为正在运行的代码(例如,您有AnotherClass的多个不同副本,或者您忘记保存文件或重新编译它等等<) / p>