我正在尝试制作一个哈希图对象并从另一个哈希图分配它的值,但是我发现副本上的更改影响了原始对象的值
如何使副本不影响原件?
这是我的代码
HashMap<Integer, Integer> productOfferLimitsForCart = new HashMap<>();
productOfferLimitsForCart .put(Integer.valueOf(liveModel.getId()), 0);
HashMap<Integer, Integer> OfferLimitsForCalculations = new HashMap<>();
OfferLimitsForCalculations = productOfferLimitsForCart;
使用复制构造函数:
HashMap<Integer, Integer> OfferLimitsForCalculations = new HashMap<>(productOfferLimitsForCart);
进行作业时
OfferLimitsForCalculations = productOfferLimitsForCart;
这两个变量都引用相同的HashMap实例(并且Map所引用的原始实例OfferLimitsForCalculations不再被任何变量引用)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。