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

use*_*724 2 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
Run Code Online (Sandbox Code Playgroud)

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

NPE*_*NPE 6

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

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