如何使用推土机将布尔转换为字符串?

问题描述:

我是新来的推土机,我试图将一个字符串映射到一个布尔值,反之亦然。任何人都可以告诉我Dozer是否支持这个功能,或者我是否必须创建一个自定义转换器。该字符串将包含true或false,因此将直接映射。另外我使用Dozer API而不是XML配置。感谢您的帮助如何使用推土机将布尔转换为字符串?

我不认为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!"); 
    } 

} 
+0

这工作谢谢 – irishguy 2013-09-17 09:53:46

我相信(我的头顶部),其推土机支持,因为它委托给BeanUtils的这种转换。我知道ModelMapper不支持布尔到字符串,反之亦然。