对象重新分配是否绕过Java中代码的顺序执行?

时间:2019-06-28 19:46:18

标签: java

当我遇到下面显示的代码时,我正在研究一些核心Java东西。尽管代码可以成功编译,但是它却提供了一些我无法理解的意外输出。

    public static void main(String[] args) {
        List a = new ArrayList();
        List b = new ArrayList();
        addToList(a,b);
        System.out.println(a + " " + b);

    }

    private static void addToList(List a, List b) {
        a.add(new Integer("1"));
        b.add(new Integer("2"));
        a = new ArrayList();
        List c = new ArrayList();
        b = c;
    }
}

此处的输出为:[1][2]。但是,根据我对通过引用传递对象的知识,输出应为[][]。这怎么发生的?谁能解释?

0 个答案:

没有答案