gpt4 book ai didi

java - MapStruct @Mapping(表达式 ="java(...)")

转载 作者:行者123 更新时间:2023-12-05 01:11:59 26 4
gpt4 key购买 nike

是否可以在内部有条件,如 if-else 或三元运算符

@Mapping(expression="java(...)")

我有一个返回 ArrayList 的最后一项的方法,但如果列表为空,它会返回 null。我需要一个条件,所以如果我收到了我可以使用的项目,或者如果它为 null,它将映射为 null。

public static MyObjectDetail getLastOne(MyObject myObject) {
List<MyObjectDetail> details = myObject.getMyObjectDetails();
if(details.isEmpty()) {
return null;
} else {
return myObject.getLastDetail(myObject);
}
}

这是我目前使用的@Mapping,如果列表不为空,它可以正常工作。

@Mapping(expression = "java(MyObjectDetailMapper.getLastOne(myObject).getNumber())", target = "number"),

最佳答案

解决方案:

@Mapping(expression = "java(null == MyObjectDetailMapper.getLastOne(myObject) ? null : MyObjectDetailMapper.getLastOne(myObject).getNumber())", target = "number"),

关于java - MapStruct @Mapping(表达式 ="java(...)"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62597010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com