为了账号安全,请及时绑定邮箱和手机立即绑定

Java对象拷贝

标签:
Java

public static void copy(Object src , Object tar){
try {
Class<?> srcClazz = src.getClass();
Class<?> tarClazz = tar.getClass();
Field[] srcClazzDeclaredFields = srcClazz.getDeclaredFields();
for(Field srcField : srcClazzDeclaredFields){
String srcFieldNameBefore = srcField.getName();
String srcFieldNameFirstUp = srcFieldNameBefore.substring(0,1).toUpperCase()

  • srcFieldNameBefore.substring(1,srcFieldNameBefore.length());
    Method srcMethod = null;
    Method tarMethod = null;
    String getMethodName = "get" + srcFieldNameFirstUp;
    String setMethodName = "set" + srcFieldNameFirstUp;
    Class reType = null;
    try {
    srcMethod = srcClazz.getDeclaredMethod(getMethodName);
    }catch (Exception e){}
    if(srcMethod != null){
    try {
    reType = srcMethod.getReturnType();
    tarMethod = tarClazz.getDeclaredMethod(setMethodName , reType);
    }catch (Exception e){}
    if(tarMethod != null){
    Object obj = srcMethod.invoke(src);
    tarMethod.invoke(tar,obj);
    }
    }
    }
    }catch (Exception e){
    e.printStackTrace();
    }
    }

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
64
获赞与收藏
367

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消