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,好多呢。