我有一个Map<String, Object>
。使用此方法,我必须填充一个java对象。例如,
public void setBaseAttributes(BaseObject baseObj) {
Map<String, Object> map = // some method call;
org.apache.commons.beanutils.BeanUtils.populate(baseObj, map);
}
我正在使用BeanUtils,但由于BeanUtils无法处理BigDecimal而陷入困境。我的baseObj具有BigDecimal,我无法摆脱它。
对专家的问题是:
答案 0 :(得分:0)
根据您的评论,似乎在处理null或缺少BigDecimal值时遇到问题。您可以使用以下提供的默认值为BigDecical注册其他转换器:
Object defaultValue = null;
BigDecimalConverter converter = new BigDecimalConverter(defaultValue);
ConvertUtils.register(converter, BigDecimal.class);
有关详细信息,请参见ConvertUtils和BigDecimalConverter的文档。 ConvertUtilsBean文档中还有更具体的信息。