推土机地图 DTO 映射
Dozer Map DTO Mapping
我有点"Object":
Map<Integer, Map<WeekDay, Map<String, Data>>> obj
我想将其映射到:
Map<Integer, Map<WeekDay, Map<String, DataDto>>> returnObj
我怎样才能做到这一点?
我想用的是这个:
map(schedule, Map<Integer.class, Map<WeekDay.class, Map<String.class, DataDto.class>>>);
但是在 "Map" 我卡住了,因为我不能在它们后面添加 .class 并且在这种状态下它不起作用...
我建议尽可能简化您的地图:
class A {
WeekDay weekDay;
String str;
Data obj;
}
Map<Integer, A> map = ...;
Iterables.transform(map.values(), new Function<Data, DataDto>() {
@Override
public Object apply(String input) {
return ...;
}
});
或者您可以将其放入 class:
class Dictionary {
Map<Integer, Map<WeekDay, Map<String, Data>>> obj;
getDataDto(Integer key, Weekday weekDay, String str) {
final Data data = obj.get(key).get(weekDay).get(str);
return (new Function<Data, DataDto>() {
...
}).apply(data);
}
}
考虑您要对数据结构使用的操作,并想出合适的 class。您的嵌套地图看起来不正常。
我有点"Object":
Map<Integer, Map<WeekDay, Map<String, Data>>> obj
我想将其映射到:
Map<Integer, Map<WeekDay, Map<String, DataDto>>> returnObj
我怎样才能做到这一点?
我想用的是这个:
map(schedule, Map<Integer.class, Map<WeekDay.class, Map<String.class, DataDto.class>>>);
但是在 "Map" 我卡住了,因为我不能在它们后面添加 .class 并且在这种状态下它不起作用...
我建议尽可能简化您的地图:
class A {
WeekDay weekDay;
String str;
Data obj;
}
Map<Integer, A> map = ...;
Iterables.transform(map.values(), new Function<Data, DataDto>() {
@Override
public Object apply(String input) {
return ...;
}
});
或者您可以将其放入 class:
class Dictionary {
Map<Integer, Map<WeekDay, Map<String, Data>>> obj;
getDataDto(Integer key, Weekday weekDay, String str) {
final Data data = obj.get(key).get(weekDay).get(str);
return (new Function<Data, DataDto>() {
...
}).apply(data);
}
}
考虑您要对数据结构使用的操作,并想出合适的 class。您的嵌套地图看起来不正常。