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

 我来答
gdmmd
推荐于2017-09-02 · TA获得超过1279个赞
知道大有可为答主
回答量:1581
采纳率:66%
帮助的人:1022万
展开全部

传引用

请看一下测试代码

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;
    }

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式