对象的属性调用了removeAll(),为什么把自己删除了
The property of the object calls removeAll(), why did it delete itself
public static void main(String[] args) {
Dto dto = new Dto();
List<Long> aList = new ArrayList<>();
aList.add(1L);
aList.add(2L);
aList.add(3L);
dto.setIdList(aList);
List<Long> bList = new ArrayList<>();
bList.add(1L);
bList.add(2L);
List<Long> tempList = dto.getIdList();
tempList.removeAll(bList);
System.out.println(dto.getIdList());
}
@Data
public static class Dto{
public List<Long> idList;
}
这段代码是我写的测试方法,System.out.println(dto.getIdList());
里的代码,dto.getIdList()的大小是1,为什么不是3?为什么自己删了?
来自 Oracle doc java11#List#removeall、removeAll()
Removes from this list all of its elements that are contained in the specified collection (optional operation).
、那会发生什么? 列表 idList
的值为 1L、2L、3L,在 bList
中
值 1L、2L。
当你调用removeAll()
时会去掉1L和2L,剩下3L,那么大小就是一个
这是解决问题的方法
public static void main(String[] args) {
Dto dto = new Dto();
List<Long> aList = new ArrayList<>();
aList.add(1L);
aList.add(2L);
aList.add(3L);
dto.setIdList(aList);
List<Long> bList = new ArrayList<>();
bList.add(1L);
bList.add(2L);
List<Long> tempList = dto.getIdList();
tempList.removeAll(bList);
System.out.println(dto.getIdList());
}
@Data
public static class Dto{
public List<Long> idList;
}
这段代码是我写的测试方法,System.out.println(dto.getIdList());
里的代码,dto.getIdList()的大小是1,为什么不是3?为什么自己删了?
来自 Oracle doc java11#List#removeall、removeAll()
Removes from this list all of its elements that are contained in the specified collection (optional operation).
、那会发生什么? 列表 idList
的值为 1L、2L、3L,在 bList
中
值 1L、2L。
当你调用removeAll()
时会去掉1L和2L,剩下3L,那么大小就是一个
这是解决问题的方法