改变方法传入参数的值,方法结束后参数不变化的问题

    今天遇到一个问题,就是方法的返回值已经被前人使用了,不能做修改,而我这边又要用这儿方法处理一些其他的参数,改变他们的值。

    初步的设想是我再方法外面new一个对象,把对象当作参数传到方法里,然后直接在方法里处理这个对象,改变这个对象的值。

    测试的时候发现不可行,对象在方法里值改变了。方法结束以后,再次使用对象,还是传参之前的那个对象,没有变。

    最后试了一下,发现是这样的,方法传参类似与复制一个数据去使用,方法结束以后,基本类型不会改变值,引用类型不会改变引用地址。

    但是也有例外,后来发现,当传参为集合或者数组时,在方法中改变其中的元素,方法结束后改变还是生效的。

    问题解决,把需要用到的参数,放到数组或者集合中,再把集合或者数组当作参数传入方法中进行处理即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值