Can Dozer(v.5.3.2)将int类型映射到布尔(Wrapper)类型?
答案 0 :(得分:3)
通过粗略阅读文档,您可以通过自定义BeanMapping
将任何内容映射到任何内容,所以......“是”
答案 1 :(得分:1)
是....您可以将int类型映射到布尔值或任何其他数据类型。对于这种映射,您需要Custom Converters
答案 2 :(得分:1)
public class NewDozerConverter
extends DozerConverter<Integer, Boolean> {
public NewDozerConverter() {
super(Integer.class, Boolean.class);
}
public Boolean convertTo(Integer source, Boolean destination) {
if (source > 1) {
return Boolean.TRUE;
} else if (source < 0) {
return Boolean.FALSE;
}
throw new IllegalStateException("Unknown value!");
}
public Integer convertFrom(Boolean source, Integer destination) {
if (Boolean.TRUE.equals(source)) {
return 1;
} else if (Boolean.FALSE.equals(source)) {
return 0;
}
throw new IllegalStateException("Unknown value!");
}
}
答案 3 :(得分:0)
如果你只需要将0和1分别映射到false和true,它已经由Dozer开箱即用。如果要将0映射为false而将任何其他值映射为true,则需要custom converter。