1

Dozer(v. 5.3.2) 可以将 int 类型映射到 Boolean(Wrapper) 类型吗?

4

4 回答 4

3

通过粗略阅读文档,您可以通过 custom 将几乎任何东西映射到任何东西BeanMapping,所以......“是的”

于 2013-01-02T12:39:18.583 回答
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!");
  }

} 
于 2013-01-02T12:48:03.563 回答
1

是的....您可以将 int 类型映射到 Boolean 或任何其他数据类型。对于这种映射,您需要自定义转换器

于 2013-01-02T12:41:29.330 回答
0

如果您只需要将 0 和 1 分别映射为 false 和 true,则 Dozer 开箱即用即可处理。如果要将 0 映射为 false 并将任何其他值映射为 true,则需要自定义转换器

于 2017-01-19T10:08:31.920 回答