List<DomainInfo> newData = new ArrayList<>(); for(DomainInfo info : data){ String subCode = info.getSystemCode(); if(subCode.contains(";")){ String[] code = subCode.split(";"); if(StringUtils.equals(dto.getSystemCode(), code[0])){ info.setSystemCode(StringUtils.isBlank(code[1]) ? "-" : code[1]); info.setChineseName(StringUtils.isBlank(info.getChineseName()) ? "空值" : info.getChineseName()); newData.add(info); } } }
时间: 2024-04-27 15:21:09 浏览: 116
这段代码的作用是,将一个 DomainInfo 对象的 List 集合 data 中的元素进行处理,筛选出符合条件的元素,然后加入到一个新的 List 集合 newData 中。具体实现过程如下:
1. 创建一个新的空的 List 集合 newData。
2. 对 data 集合中的每个 DomainInfo 对象进行遍历。
3. 从当前 DomainInfo 对象中获取系统代码 subCode,如果 subCode 中包含分号 ";",则说明这个系统代码包含了两个部分,需要进行拆分。
4. 使用 split() 方法将 subCode 拆分成两个部分,存储在数组 code 中。
5. 如果拆分后的第一个部分与传入的系统代码 dto.getSystemCode() 相等,则说明这是符合条件的元素。
6. 将第二个部分 code[1] 赋值给当前 DomainInfo 对象的系统代码属性 info.setSystemCode(),如果 code[1] 为空,则将 "-" 赋值给系统代码属性。
7. 如果当前 DomainInfo 对象的中文名称属性 info.getChineseName() 为空,则将 "空值" 赋值给该属性。
8. 将当前处理过的 DomainInfo 对象添加到新的 List 集合 newData 中。
9. 遍历结束后,返回新的 List 集合 newData,其中包含了符合条件的 DomainInfo 对象。
阅读全文