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 @   KLAPT  阅读(120)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示