栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java改变传入参数的值

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java改变传入参数的值

在一个方法的传入参数中,需要修改这个传入参数的值,有时候发现没有改变成功

需要好好阅读下下面的几句话:

1、对于基本类型参数,在方法体内对参数进行重新赋值,并不会改变原有变量的值。

2、对于引用类型参数,在方法体内对参数进行重新赋予引用,并不会改变原有变量所持有的引用。 

3、方法体内对参数进行运算,不影响原有变量的值。 

4、方法体内对参数所指向对象的属性进行操作,将改变原有变量所指向对象的属性值。 

也就是说,对于基本数据类型,实现的是传值,只是个形参,不会改变原有值。对于引用数据类型,对这个引用进行操作,其实也是相当于对形参的操作,不会改变原来的引用。但是,当对这个引用的属性进行操作的时候,相当于CPP中的传址调用,可以改变这个引用的属性的值。(借鉴的别人的话)

后面我写了个例子:

@RequestMapping(value="/testOn",method = {RequestMethod.POST,RequestMethod.GET})
    @ResponseBody
    public String testOn(Integer memberId,String nodeCode){

        JSONArray jsonArray = new JSONArray();
        changeJsonArray(jsonArray);

        System.out.println(jsonArray.toString());
        return  "1";
    }



    public void changeJsonArray(JSONArray jsonArray){


        JSONArray ja1 = new JSONArray();
        JSONObject jo1 = new JSONObject();
        jo1.put("key1",1);
        ja1.add(jo1);
        jsonArray.addAll(ja1);
    }

代码输出: {"key1":1}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/988517.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号