java 用lambda表达式怎么遍历list<DTO> 并且筛选出dto中字段值为空对象并重新赋值
时间: 2023-04-05 19:02:28
浏览: 182
您好,对于您的问题,可以使用lambda[表达](https://geek.csdn.net/educolumn/1410a16bee391aa5cfc33ba70e3247b7?spm=1055.2569.3001.10083)式和stream流来遍历list<DTO>,并使用filter方法筛选出dto中字段值为空[对象](https://geek.csdn.net/educolumn/04c51611e4b730957464192e0307b82c?spm=1055.2569.3001.10083),最后使用forEach方法重新赋值。具体[代码](https://geek.csdn.net/educolumn/1572ef9b473b4e00f6b2bf6d428b7c27?spm=1055.2569.3001.10083)如下:
list.stream().filter(dto -> dto.[get](https://geek.csdn.net/educolumn/31aebce56f4ecc5451aac3a194ff6259?spm=1055.2569.3001.10083)Field() == null).forEach(dto -> dto.setField(newValue));
其中,list为需要遍历的list<DTO>,[get](https://geek.csdn.net/educolumn/31aebce56f4ecc5451aac3a194ff6259?spm=1055.2569.3001.10083)Field()和setField()为DTO类中的方法,newValue为需要重新赋的值。
希望能对您有所帮助。
相关问题
java 用lambda表达式怎么遍历list<DTO> 并且筛选出dto中多个字段值为空对象并重新赋值
您好,对于您的问题,可以使用Java 8的Stream API和Lambda表达式来遍历list<DTO>并筛选出dto中多个字段值为空对象并重新赋值。具体实现可以参考以下代码:
list.stream().filter(dto -> dto.getField1() == null || dto.getField2() == null)
.forEach(dto -> {
if (dto.getField1() == null) {
dto.setField1(newValue1);
if (dto.getField2() == null) {
dto.setField2(newValue2);
```