将int映射到Boolean

时间:2013-01-02 12:35:12

标签: java dozer

Can Dozer(v.5.3.2)将int类型映射到布尔(Wrapper)类型?

4 个答案:

答案 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