代码有好多高级代码,现在给大家看一个,就是复制相同属性的值到另一个类。
例如:A类中有String name,int score;B类中有String name ,int score,String schoole,现在想把A类中的name和score的值复制到B中,就可以使用下面的方法,我感觉代码写的不错,我们都学习一下:

    public static void copy(Object source, Object target) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InvocationTargetException {Class sourceClass = source.getClass();//得到对象的ClassClass targetClass = target.getClass();//得到对象的ClassField[] sourceFields = sourceClass.getDeclaredFields();//得到Class对象的所有属性Field[] targetFields = targetClass.getDeclaredFields();//得到Class对象的所有属性for(Field sourceField : sourceFields){String name = sourceField.getName();//属性名Class type = sourceField.getType();//属性类型String methodName = name.substring(0, 1).toUpperCase() + name.substring(1);Method getMethod = sourceClass.getMethod("get" + methodName);//得到属性对应get方法Object value = getMethod.invoke(source);//执行源对象的get方法得到属性值for(Field targetField : targetFields){String targetName = targetField.getName();//目标对象的属性名if(targetName.equals(name)){Method setMethod = targetClass.getMethod("set" + methodName, type);//属性对应的set方法setMethod.invoke(target, value);//执行目标对象的set方法}}}}

复制类中的属性值到另一个类的相同属性中相关推荐

  1. C语言 编写程序:请将Fibonacci数列前30项中的偶数值找出来,存储到一维数组中。其中,Fibonacci数列如下:1,1,2,3,5,8,13,21,34...该数列除前两项之外,其他任意

    编写程序:请将Fibonacci数列前30项中的偶数值找出来,存储到一维数组中.其中,Fibonacci数列如下:1,1,2,3,5,8,13,21,34-该数列除前两项之外,其他任意一项都是相邻的前 ...

  2. C#中i=i++值不变的一个解释

    在C#中i=i++值不变的一个解释 几乎每隔一段时间就有人询问i++和++i的区别,这两者之间无非就是前缀和后缀,先执行再+1还是先+1再执行的问题,这没有什么好说的. 前几天看到有人问在C#中,i= ...

  3. Java比较两个实体属性值是否相同,将不同的属性输出

    /*** 比较两个实体属性值,返回一个map以有差异的属性名为key,value为一个Map分别存oldObject,newObject此属性名的值* @param oldObject 进行属性比较的 ...

  4. 数组[Java](除去一个数组中的某个值并生成一个新数组)

    ** 数组 **[Java](除去一个数组中的某个值并生成一个新数组) 例如:现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ; ...

  5. 类的成员变量 猜数字游戏一个类A有一个成员变量v有一个初值100。 * 定义一个类对A类的成员变量v进行猜。 * 如果大了则提示大了小了则提示小了。等于则提示猜测成功。

    /** 类的成员变量 猜数字游戏一个类A有一个成员变量v有一个初值100.* 定义一个类对A类的成员变量v进行猜.* 如果大了则提示大了小了则提示小了.等于则提示猜测成功.*/ import java ...

  6. CSS中属性个属性值怎么区分,[CSS] 详细解释 @media 属性与 (max

    前言 现在 HTML5/CSS3 很流行罢,也是未来时代的趋势.在 HTML5 带来的许多实用功能之后,CSS3也同带来了一些牛逼哄哄的功能呢. 动画 animation 转化 transform 过 ...

  7. java反射设置属性值_Java反射如何有效的修改final属性值详解

    前言 以前写过一篇 Java 反射修改 final 属性值,本文将在这里重新温习一下Java反射如何有效的修改final属性值,下面话不多说了,来一起看看详细的介绍: 假设有个类 class Pers ...

  8. php json输出对象的属性值,JavaScript_jquery动态遍历Json对象的属性和值的方法,1、遍历 json 对象的属性/ - phpStudy...

    jquery动态遍历Json对象的属性和值的方法 1.遍历 json 对象的属性 //定义json对象 var person= { name: 'zhangsan', pass: '123', fn: ...

  9. java 获取对象属性值为空或者非空的属性名称

    目录 1. 获取对象属性值为空的属性名称 2. 复制对象非空属性值 1. 获取对象属性值为空的属性名称 /** * @Title: getNullPropertyNames* @Description ...

最新文章

  1. mysql PHP注册代码_求分享简单的php注册+mysql数据库登录源码
  2. sql 查询嵌套数组
  3. (Mybatis)动态SQL
  4. hmacsha256是对称算法吗_HMAC-SHA256签名计算算法
  5. open ai gpt_您实际上想尝试的GPT-3 AI发明鸡尾酒
  6. (JAVA)超大小数运算
  7. linux文件目录作用,linux 文件目录,及其作用
  8. Android单元测试研究与实践
  9. 常用的分隔符有哪三种_加固博士:常用防水材料大比拼,究竟花落谁家?
  10. 自学html和css,学习HTML和CSS的5大理由
  11. 【转】Java的package和import机制
  12. 《终极算法》读书笔记(一)机器学习革命
  13. 三星电子能从硬件公司转型成软件公司吗?
  14. 建立城市安防系统 打造更安全智慧城市
  15. [C语言]——打印素数(质数)
  16. 德玛西亚服务器显示排队,英雄联盟排队怎么进入-英雄联盟:激斗峡谷(国际服 LOL:Wild Rift)问答专区-OurPlay...
  17. Hexo+Butterfly主题美化
  18. 1688/阿里巴巴按关键字搜索新品数据 API 使用说明
  19. 【通信原理】第三章 -- 随机过程[下]
  20. 截图翻译的方法有哪些

热门文章

  1. 计划策略-40-最终装配计划
  2. ABAP性能优化之向内表添加纪录
  3. 最小货架剩余寿命\总货架寿命\最大仓储时间
  4. 会计记忆总结之五:会计账薄
  5. POPUP_GET_VALUES_DB_CHECKED’
  6. 16 分频 32 分频是啥意思_Verilog 数字分频器的设计及验证
  7. c语言void replace(str,ch)替换字符串,C++ 中字符串查找、字符串截取、字符串替换...
  8. aspen plus大小_AspenPlus
  9. agv机器人托举结构_AGV机器人常见减震浮动结构对比分析
  10. r型聚类分析怎么做_【SPSS数据分析】SPSS聚类分析(R型聚类)的软件操作与结果解读 ——【杏花开生物医药统计】...