【问题标题】:How do I convert a Boolean to String using Dozer?如何使用 Dozer 将布尔值转换为字符串?
【发布时间】:2011-04-24 09:10:48
【问题描述】:

我是 Dozer 的新手,我正在尝试将字符串映射到布尔值,反之亦然。谁能告诉我推土机支持这个还是我必须创建一个自定义转换器。该字符串将包含真或假,因此将直接映射。另外我使用的是 Dozer API 而不是 XML 配置。感谢您的帮助

【问题讨论】:

    标签: dozer


    【解决方案1】:

    我认为 dozer 不支持开箱即用,您可以使用自定义转换器为您完成这项工作。事实上,custom converters 上的帮助页面就是以这种情况为例:

    public class NewDozerConverter extends DozerConverter<String, Boolean> {
    
      public NewDozerConverter() {
        super(String.class, Boolean.class);
      }
    
      public Boolean convertTo(String source, Boolean destination) {
        if ("true".equals(source)) {
          return Boolean.TRUE;
        } else if ("false".equals(source)) {
          return Boolean.FALSE;
        }
        throw new IllegalStateException("Unknown value!");
      }
    
      public String convertFrom(Boolean source, String destination) {
        if (Boolean.TRUE.equals(source)) {
          return "true";
        } else if (Boolean.FALSE.equals(source)) {
          return "false";
        }
        throw new IllegalStateException("Unknown value!");
      }
    
    }  
    

    【讨论】:

      【解决方案2】:

      我相信(不由自主地)Dozer 支持这种转换,因为它委托给 BeanUtils。我知道ModelMapper 确实支持布尔转字符串,反之亦然。

      【讨论】:

        猜你喜欢
        • 2011-02-17
        • 2012-04-02
        • 2021-02-23
        • 1970-01-01
        • 1970-01-01
        • 2018-09-07
        • 1970-01-01
        • 2016-07-13
        相关资源
        最近更新 更多