map中用key取得的value值 然后改 map里面的key对应的value怎么就直接变了呢 按理说不应该取出来 再添加到集合中嘛
下面是两个反例
感谢各位求解
map中用key取得的value值 然后改 map里面的key对应的value怎么就直接变了呢 按理说不应该取出来 再添加到集合中嘛
首先你的CartItem 对象是引用类型,你放入你的Map 只是引用了这个对象,而不是new 的新的对象,所以你对这个对象的操作会对呢你map里的valu影响。
而你举例的反例(代码有些问题,我应该明白你什么意思)
Integer 属于基本数据类型。所以你之后的操作不会影响你放入map 的数据
String 类型由于java有字符串常量池机制,所以你之后修改操作不会对放入map 中的数据产生影响
https://blog.csdn.net/weixin_39724194/article/details/107022401