java 对象参数传递与对象复制

       今天写一个java的方法,方法中有的参数是两个Map对象。目的是求这两个Map的所有不同的元素的集合。结果到回到主方法输出时,大的集合Map对象被修改了。这是我不希望的。因为下面我还要用这个对象进行操作。

        经过查询,java原来有两种传递参数方式。1.传值 2.传引用  。对于简单类型的参数,如int ,string等,java用传值方式。对于对象,java用传引用的方式。所以前面的那个方法中的对象参数,传过去的是引用。所以该对象如果在方法中被修改,外面的引用的这个对修也被修改。其实java对象名,只是保存着这个对象的地址。

       接下来,为了不使这个参数在方法中的修改也影响到外面。所以想到了对象复制,clone。就算新建一个对象,用等号赋值,那个对象名还引用的是同一个对象。所以必须用Clone。Map没有这个方法。但是Map有putAll().它把一个Map的所有元素全部复制到另一个Map中。HashMap 有clone方法。 所以我有这两种办法解决这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值