当前位置 博文首页 > 众星揽月的博客:List保存bean对象数据全是最后更新的一个

    众星揽月的博客:List保存bean对象数据全是最后更新的一个

    作者:[db:作者] 时间:2021-08-02 15:53

    出现这种情况一般是以下的代码写法,可以看到,存入到list中的Person对象只有一个,只不过是修改了age属性的值,可以看到输出的结果,遍历输出list里的person对象的age属性值,全为5,这与我们的设想出现了差异。我们想要的是输出10 20 5,那么怎样才能输出这样的结果呢。
    在这里插入图片描述正确的写法应该是创建3个不同的Person对象,就会有输出10 20 5的效果,因为list存入的只是对象的存放地址,或者说就是这个对象的一个标识,实际上还是这个对象,并没有创建出新的对象然后把对象存入到list中,如何验证呢?
    在这里插入图片描述还是第一张图的代码,只创建一个对象,第一次遍历输出为最后一次更新的值没毛病,第二次我们更新了值但是并没有add进去list,结果再一次遍历输出list,结果为5???破案了
    在这里插入图片描述所以我们不要随便修改存进去list里面的对象的属性值,会出现不知所谓的bug

    cs