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日

悬赏问题

  • ¥15 100 内验证哥德巴赫巴赫猜想
  • ¥15 需要在vitis下实现彩调视频图像累加,并输出
  • ¥15 解决不了的LNK2019错误
  • ¥20 MATLAB仿真三相桥式全控整流电路
  • ¥15 EDA技术关于时序电路设计
  • ¥15 百度文心一言流式返回sse失败
  • ¥15 由于远程方已关闭传输流,身份验证失败
  • ¥15 rt-detr,PCB,目标检测
  • ¥15 有偿求指导实证代码。cfps清洗合并后,无论是构建平衡面板还是非平衡面板,都是只剩几百个样本量。求指导一下哪里出问题了,不要潦草回复
  • ¥15 mutlinichenet