调用 BeanUtils.populate转换失败
BeanUtils.populate(groupAccountMessage, (HashMap<String, Object>) msgObj.getData());
经过分析发现,该方法不支持特定枚举。
解决方案: 定义ConvertUtils.register对枚举类型转换。
ConvertUtils.register(new EnumReferTypeConverter(),
UserMessage.ReferType.class);
class EnumReferTypeConverter implements Converter {
@Override
public Object convert(Class type, Object value) {
return UserMessage.ReferType.valueOf(value.toString());
}
}