设为首页 加入收藏

TOP

Java 对象参数传递与对象复制
2014-11-24 07:56:37 来源: 作者: 【 】 浏览:0
Tags:Java 对象 参数 传递 复制

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


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


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


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇如何给Qt/Embedded Linux程序设置.. 下一篇Android adb shell 命令

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)
·Redis配置中`require (2025-12-26 03:18:58)
·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)