java - 如何在迭代和检查对象的另一个 ArrayList 时将实体值更新为 ArrayList 中的对象
问题描述
我遇到的情况是,我正在遍历对象的 ArrayList 并根据条件将该 ArrayList 的值添加到另一个 ArrayList 中(如果它们为空)。现在我想更新 ArrayList 的特定实体的值,其中我正在添加来自另一个 ArrayList 的值。让我也发布代码并解释一下
这是我存储值的目标实体
public class DestDO{
private String id;
private String name;
private String phase;
private String attr;
private String isComplete;
这是我从中获取值的 Source 实体
public class SourceDO{
private String id;
private String name;
private String phase;
private String attr;
这是我设置值的类
public class DataInjectService{
public List<SourceDO> addAllValues(){
List<SourceDO> addedListValues = Arrays.asList(
new SourceDO("1","Jeet","KI","D"),
new SourceDO("1","John","KA","E"),
new SourceDO("1","HARRY","KU","R")
);
return addedListValues
这是驱动类
public class TestArrayList{
public static void main(String a[]){
DataInjectService dataInjectService = new DataInjectService ();
List<SourceDO> listOfSourceObj =
System.out.println(mapSourceToDest(listofSourceObj);
}
在此操作中,如果任何 sourceDO 值为 null,那么我必须将 false 设置为 isComplete 实体,否则我 sourceDO 包含所有值,然后我必须将 true 设置为 isComplete 实体。更准确地说,sourceDO.getName() 为空那么即使 sourceDO 的其他值不为空,我也必须将 false 设置为 isComplete 实体。这可能吗 ?
public static List<DestDO> mapSourceToDest(List<SourceDO> listOfSourceObj){
List<DestDO> desiredResult = new ArrayList<>();
for(SourceDO sourceDo : listOfSourceDO){
desiredResult.add(DestDO.builder()
.id(Optional.ofNullable(sourceDO.getId()).orElse(""))
.name(Optional.ofNullable(sourceDO.getName()).orElse(""))
.phase(Optional.ofNullable(sourceDO.getPhase()).orElse(""))
.attr(Optional.ofNullable(sourceDO.getAttr()).orElse(""))
.isComplete(// here i have to change the status
我正在尝试一种适合此操作的 Java 8 方法,如果可能,请帮助我
解决方案
你必须检查你的属性,有很多方法,我建议使用:
private static boolean verifyAnyNull(SourceDO sourceDo) {
return Arrays.asList(
sourceDo.getId(),
sourceDo.getName(),
sourceDo.getPhase(),
sourceDo.getAttr()
).contains(null);
}
然后调用你的方法:
.isComplete(verifyAnyNull(sourceDo))
我假设 complete 是一个布尔值而不是字符串
推荐阅读
- javascript - 如何在javascript中将拉丁数字转换为阿拉伯数字?
- angular - Eslint “不安全地返回 `any` 类型的值。”
- php - 如何在 laravel php 中添加更多复选框?
- mpi - MPI 是否有自己的方式将文件传输到远程节点?
- node.js - 节点异步函数NodeJs中的复活
- javascript - 管理员帐户上的 Facebook 登录警告问题
- python - 打印问题(嵌套循环)(初级)(可能)
- python - 模拟时生成的响应在 python 测试中不正确
- node.js - JEST 与 Supertest 获取实例已在使用错误 - 需要重新启动整个测试服务器
- javascript - How to access object with req.body?