如何在迭代和检查 Object 的另一个 ArrayList 时将实体值更新为 ArrayList 中的 object
How to update entity values to the object in a ArrayList while iterating and checking another ArrayList of Object
我遇到这样一种情况,我正在遍历 objects 的 ArrayList,并根据条件将该 ArrayList 的值添加到另一个 ArrayList,如果它们是否为空。现在我想更新一个ArrayList 的特定实体的值,我在其中添加来自另一个 ArrayList 的值。让我 post 代码也解释一下
这是我存储值的目标实体
public class DestDO{
private String id;
private String name;
private String phase;
private String attr;
private String isComplete;
这是我从中获取值的来源实体
public class SourceDO{
private String id;
private String name;
private String phase;
private String attr;
这是我设置值的 class
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
这是driverclass
public class TestArrayList{
public static void main(String a[]){
DataInjectService dataInjectService = new DataInjectService ();
List<SourceDO> listOfSourceObj =
System.out.println(mapSourceToDest(listofSourceObj);
}
在此操作中,如果任何 sourceDO 值为空,则我必须将 isComplete 实体设置为 false,否则我的 sourceDO 包含所有值,则我必须将 isComplete 设置为 true entity.To 更准确地说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 是布尔值而不是字符串
我遇到这样一种情况,我正在遍历 objects 的 ArrayList,并根据条件将该 ArrayList 的值添加到另一个 ArrayList,如果它们是否为空。现在我想更新一个ArrayList 的特定实体的值,我在其中添加来自另一个 ArrayList 的值。让我 post 代码也解释一下
这是我存储值的目标实体
public class DestDO{
private String id;
private String name;
private String phase;
private String attr;
private String isComplete;
这是我从中获取值的来源实体
public class SourceDO{
private String id;
private String name;
private String phase;
private String attr;
这是我设置值的 class
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
这是driverclass
public class TestArrayList{
public static void main(String a[]){
DataInjectService dataInjectService = new DataInjectService ();
List<SourceDO> listOfSourceObj =
System.out.println(mapSourceToDest(listofSourceObj);
}
在此操作中,如果任何 sourceDO 值为空,则我必须将 isComplete 实体设置为 false,否则我的 sourceDO 包含所有值,则我必须将 isComplete 设置为 true entity.To 更准确地说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 是布尔值而不是字符串