java 中如果把集合作为参数传递,是传值还是传引用

如题所述

传引用

请看一下测试代码

public static void main(String[] args) {
        List<String> s1 = new ArrayList<>();

        System.out.println("执行前:" + s1);

        doTest(s1);

        System.out.println("执行后:" + s1);
    }

    private static void doTest(List<String> ss) {
        ss.add("a");
    }

执行方法后   方法体内对参数的操作    会影响到方法体外的对象    所以传的是引用

public static void main(String[] args) {
        int a = 5;
        System.out.println(a);

        doTest(a);

        System.out.println(a);
    }

    private static void doTest(int a) {
        a = a + 5;
    }

像这样子   方法体内对参数的操作    不会影响到方法体外的对象     传的是值

温馨提示:答案为网友推荐,仅供参考
相似回答