list不能直接remove

当一个list集合里面包含某个id,我需要把它过滤掉,于是,我直接上代码
if (managerIds.contains(userId)) {
managerIds.remove(userId);
}
return managerIds;

然而,这种写法是大错特错了!

因为,list不能直接remove,要不然就会报一个索引的错误,所以,经过指导后代码就改成了

if (managerIds.contains(userId)) {
   //求两个集合的差集
CollUtil.disjunction(managerIds, CollUtil.newArrayList(userId));
}
return managerIds;

这样,就不会报错了!!!

posted on 2024-04-11 16:30  十日复十日  阅读(9)  评论(0编辑  收藏  举报

导航