【Java】List中Map保存总是保存相同值

一、问题
将两个不同的Map<String,String>放到List中,但是只是重复的将一个Map放了两次,为啥?

二、测试
List<String>中放String
【Java】List中Map保存总是保存相同值

List<Map<Stirng,String>>中放Map:
【Java】List中Map保存总是保存相同值

三、解决
【Java】List中Map保存总是保存相同值

四、结论
我们对比可以看到,List如果是String类型,没有任何影响;但是List如果是Map类型,如果只新建一个对象,新的Map里的内容变化了,已经存入List里的Map也是会跟着一起变化的;这样就会导致,List里面只会存入最后一个内容,且是相同的Map;解决的办法是,每次new一个新的Map来存值;