假设我有一个名为
使用默认的ModelMapper设置,我可以用以下方式实现:
MySource
的类:public class MySource {
public String fieldA;
public String fieldB;
public MySource(String A, String B) {
this.fieldA = A;
this.fieldB = B;
}
}
我希望将其转换为对象MyTarget
:
public class MyTarget {
public String fieldA;
public String fieldB;
}
使用默认的ModelMapper设置,我可以用以下方式实现:
ModelMapper modelMapper = new ModelMapper();
MySource src = new MySource("A field", "B field");
MyTarget trg = modelMapper.map(src, MyTarget.class); //success! fields are copied
然而,有时可能会出现MySource
对象为空的情况。在这种情况下,MyTarget也将为空:null
。
ModelMapper modelMapper = new ModelMapper();
MySource src = null;
MyTarget trg = modelMapper.map(src, MyTarget.class); //trg = null
我想以这样的方式指定自定义映射(伪代码):
如果MySource src != null,则[执行默认映射],否则[返回新的MyTarget()]
有人知道如何编写适当的转换器来实现吗?