Pizzatime_ 2022-04-21 12:15 采纳率: 33.3%
浏览 55

Map中用key取得的value值 然后改 map里面的key对应的value怎么就直接变了呢

map中用key取得的value值 然后改 map里面的key对应的value怎么就直接变了呢 按理说不应该取出来 再添加到集合中嘛

img


下面是两个反例

img

img


感谢各位求解

  • 写回答

3条回答 默认 最新

  • 秃头批风侠 2022-04-21 13:22
    关注

    首先你的CartItem 对象是引用类型,你放入你的Map 只是引用了这个对象,而不是new 的新的对象,所以你对这个对象的操作会对呢你map里的valu影响。

    而你举例的反例(代码有些问题,我应该明白你什么意思)
    Integer 属于基本数据类型。所以你之后的操作不会影响你放入map 的数据
    String 类型由于java有字符串常量池机制,所以你之后修改操作不会对放入map 中的数据产生影响
    https://blog.csdn.net/weixin_39724194/article/details/107022401

    评论

报告相同问题?

问题事件

  • 创建了问题 4月21日