BeanUtils小坑一枚

时间:2023-03-26 12:01:54


BeanUtils工具类copy有点小问题,很久之前就知道,听说 用其它工具类的copy没有问题。


但是,我就不喜欢用其它的工具类,优先用专业的工具类,比如spring自己的 copy就懒得用,不是所有的项目,都得依赖spring。

 

  copy的时候,null值会被 默认为0,很烦。


public class BeanUtils {
    static {
        //源对象,如果为null,会给个默认值,Integer从null变为0.(坑爹啊)
        // null值不转换
        ConvertUtils.register(new DateConverter(null), java.util.Date.class);
        ConvertUtils.register(new LongConverter(null), Long.class);
        ConvertUtils.register(new ShortConverter(null), Short.class);
        ConvertUtils.register(new IntegerConverter(null), Integer.class);
        ConvertUtils.register(new DoubleConverter(null), Double.class);
        ConvertUtils.register(new BigDecimalConverter(null), BigDecimal.class);
    }

    public static void copyProperties(Object dest, Object orig){
        try {
            org.apache.commons.beanutils.BeanUtils.copyProperties(dest, orig);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
    }
}


 

工具类,知道的有Commons,Jodd,Guava,VIP kit,好多呢。