需求:当一个对象保存到数据库中的时候,此时,此对象只包含部分属性。其他的属性依旧不变(其他修改操作会改变)。我们需要把确认要改变的属性赋值到需要改变的新的对象中。以此保存数据。字段少还好说,字段较多那么就麻烦大了。如果此种需求很大。那么就更废了。更不用说可能需要改变部分字段(添加,减少)是否在修改中。只能重新找,然后修改。太麻烦了。

那么,我们怎么做呢?用反射。以前也用过反射,只是没有做一个记录备案。现在,弄出来吧。下次直接拷贝就好了。直接上代码。

/*** 两个对象之间的赋值* @param source 来源对象* @param dest 去处对象* @return 去除对象* @throws IllegalAccessException* @throws NoSuchMethodException* @throws InvocationTargetException*/public static Object getAttribute(Object source,Object dest) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {Field[] declaredFields = source.getClass().getDeclaredFields();LinkedHashMap<String,Object> hashMap = new LinkedHashMap<>();for(Field f:declaredFields){//打开私有访问f.setAccessible(true);//获取属性String name = f.getName();if(name!="username"){if(f.get(source)!=null) {String methodName = "set" + name.substring(0, 1).toUpperCase() + name.substring(1, name.length());Method method = source.getClass().getMethod(methodName, f.getType());method.invoke(dest, f.get(source));}}}return dest;

解释:反射的方法不解释了。这个已经记住了。但是,获取Method的方法并没有记者。在此打一下,增加记忆。

source.getClass().getMethod(methodName,'methodName的方法的参数类型');

method.invoke('去除的对象',"属性值")

把一个对象中的属性值赋值到另外一个对象中相关推荐

  1. 用泛型方法Java从实体中提取属性值,以及在泛型方法中的使用

    public <T> T getFieldValue(Object target, String fieldName, Class<T> typeName){try {Obje ...

  2. java bean对象属性复制,将一个对象的属性值赋值给另一个对象,对象之间的复制方法

    注意依赖,springframework下的复制顺序为 (目标对象,新对象) import org.springframework.beans.BeanUtils;public static void ...

  3. 将对象的属性值复制到另一个对象中

    将对象的属性值复制到另一个对象中 /**** 将第一个对象的属性值复制到第二个对象中* @param <T> 第一个对象* @param <R> 第二个对象*/ class H ...

  4. SpringMVC js如何获取后台model中的属性值

    SpringMVC js如何获取后台model中的属性值 companylist 如何获取 var companylist="${companylist}"; 希望对你有所帮助 个 ...

  5. s:property=a value=/取的s:debug/s:debug中的value stack中的属性值

    <s:property="a"  value=""/>取的<s:debug></s:debug>中的value stack中 ...

  6. Java:比较两个对象中全部属性值是否相等

    点击关注公众号,实用技术文章及时了解 来源:xiaoer.blog.csdn.net/article/details/85005295 例如下述Java类: import java.io.Serial ...

  7. 在jsp中调用常量类中的属性值

    在jsp中想要调用常量类中的属性值方法: 1.  在jsp中导入此常量类   <%@page import="com.Zyp.constant.FlagConstant"%& ...

  8. 关于ArcGIS中选择属性值为空的语句

    关于ArcGIS中选择属性值为null的语句 使用Select by Attributes工具编写Where语句 选中某字段值为空值的要素 使用Select by Attributes工具编写Wher ...

  9. 微信小程序如何实现通过js修改wxml的for循环中的属性值

    微信小程序如何实现通过js修改wxml的for循环中的属性值 要实现的效果 具体代码 要实现的效果 点击每一个活动选项,实现显示对应的操作按钮 具体代码 首先要在对应页面的js中给data中定义数组, ...

  10. CSS中position属性值有哪些?

    CSS中position属性值有哪些? 1.position:relative;相对定位 1> 不影响元素本身特性(无论区块元素还是内联元素会保留其原本特性) 2> 不会使元素脱离文档流( ...

最新文章

  1. DOS下查看局域网的ip使用情况,以及ip对应的主机名
  2. 服务器选型:怎样的一款服务器产品才算是优秀的
  3. 续流二极管原理及应用
  4. Matlab中的类(Class),Matlab中的class用法
  5. Go单元测试从入门到放弃—0.单元测试基础
  6. MonkeyDevice Class
  7. bp神经网络预测模型原理,神经网络模型怎么预测
  8. 2020-02-28
  9. 最重要的100個英文字首字根 -- 字根 (3)
  10. python链家数据分析统计服_Python数据分析实战-链家北京二手房价分析
  11. OV7725鹰眼摄像头
  12. 基于Conv3D实现三维立体MNIST数据集分类
  13. latex+bibtex+jabref
  14. java unicode是什么意思_(转)谈谈对Java中Unicode、编码的理解
  15. 私人定制情人节告白网站并且部署上线,谁说程序员没有爱!超详细步骤!源码分享!
  16. 星球乐园 | 害怕水逆是因为你已经很久没有读完一本书
  17. 拥有一套如何让客户购买的方法?
  18. 单元测试 chapter3
  19. Python - 归一化与反归一化
  20. DIV布局——化妆品商城-功能齐全(43页) HTML+CSS+JavaScript web大作业 静态网页

热门文章

  1. 大转盘抽奖活动的设计
  2. 外部多端口映射Https443端口配置
  3. php判断caj文件页数,CAJ转Word有没有既免费还不限制页数的转换工具?
  4. 分享丨人脸数据集的史上最大规模调查
  5. 盘点15个搞笑的程序员段子
  6. “安装程序包的语言不受系统支持”的解决办法
  7. CEF 对CRX的支持程度
  8. seaweedfs报存储错误
  9. 在数学的海洋中飘荡(转自Dahua的Blog)
  10. vue 全局背景音乐