在使用hutool的ToBeanMap的时候,如果数据类型为Long时候无法转换为String,这种情况下可以自定义转换,将其转为String。但又出现了新问题,如果值为null而FieldValueEditor没有处理null值的情况。可以在lambda表达式中加入一个null判断,避免空指针异常,解决代码如下:
Map<String, Object> shopSqlMap = BeanUtil.beanToMap(shopResult, new HashMap<>(),
CopyOptions.create()
.setIgnoreNullValue(false)
.setFieldValueEditor((filedName, filedValue) -> filedValue == null ? null : filedValue.toString()));