首页 > 解决方案 > 从同一个 pojo 数组创建两个列表,修改一个列表,同样的事情也会影响另一个列表

问题描述

我从同一个 pojo 创建了两个列表对象,并对其中一个进行了排序。当我尝试更改一个列表时,其他列表也得到了更新。

List<FilterPojo.Data> filterList = new ArrayList<>();
List<FilterPojo.Data> subFilterList = new ArrayList<>();

如果我更改 中的值filterList,则会发生相同的更改subFilterList

标签: javaandroidarrays

解决方案


由于您提供的信息有限,您似乎正在创建/填充subFilterList. 当您这样做时,在任一列表中所做的所有更改都将反映在另一个列表中。subListfilterList

发生这种情况是因为List.subList(), 返回列表的视图,因此对原始列表的修改将反映在子列表中。正如其他人所建议的那样,而不是subList用于addAll填充subFilterList


推荐阅读