BeanUtils属性转换工具

commons 包的 BeanUtils 进行属性拷贝性能较差;Spring 的 BeanUtils 性能相对较好。

public class A {  
private String name;

private List<Integer> ids;
}

public class B { 
private String name;

private List<String> ids;
}
public class BeanUtilDemo {  
public static void main(String[] args) {

A first = new A();

first.setName("demo");

first.setIds(Arrays.asList(1, 2, 3));

B second = new B();
//方法一 Spring 的 BeanUtils 
BeanUtils.copyProperties(first, second);


//方法二 使用CGlib 在不定义Converter 的情况
final BeanCopier beanCopier = BeanCopier.create(A.class, B.class, false); 
beanCopier.copy(first,second,null);

for (String each : second.getIds()) {

// 类型转换异常

System.out.println(each);
}
}

}
 
posted @ 2021-04-28 20:18  KLAPT  阅读(115)  评论(0编辑  收藏  举报