use*_*246 13 java mapping dozer
我为ClassA创建了一个推土机映射到ClassB.
现在我想将a映射List<ClassA>
到a List<ClassB>
.
是否有可能
mapper.map(variableListClassA, variableListClassB)
Run Code Online (Sandbox Code Playgroud)
或者我必须经过一个循环,例如
for (ClassA classA : variableListClassA) {
variableListClassB.add(mapper.map(classA, ClassB.class))
}
Run Code Online (Sandbox Code Playgroud)
Mat*_*aug 12
您也可以使用辅助类一步完成
public class DozerHelper {
public static <T, U> ArrayList<U> map(final Mapper mapper, final List<T> source, final Class<U> destType) {
final ArrayList<U> dest = new ArrayList<U>();
for (T element : source) {
if (element == null) {
continue;
}
dest.add(mapper.map(element, destType));
}
// finally remove all null values if any
List s1 = new ArrayList();
s1.add(null);
dest.removeAll(s1);
return dest;
}
}
Run Code Online (Sandbox Code Playgroud)
而你上面的电话会是这样的
List<ClassB> listB = DozerHelper.map(mapper, variableListClassA, ClassB.class);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15738 次 |
最近记录: |