2019独角兽企业重金招聘Python工程师标准>>>

public class LogUtils<T> {/*** 对象比较器* 比较结果eg:1、字段名称loginName,旧值:liu,新值:gu;2、字段名称address,旧值:hunan,新值:neimenggu* @param oldBean* @param newBean* @return*/public String compareObject(Object oldBean, Object newBean) {String str = "";//if (oldBean instanceof SysConfServer && newBean instanceof SysConfServer) {T pojo1 = (T) oldBean;T pojo2 = (T) newBean;try {Class clazz = pojo1.getClass();Field[] fields = pojo1.getClass().getDeclaredFields();int i = 1;for (Field field : fields) {if ("serialVersionUID".equals(field.getName())) {continue;}PropertyDescriptor pd = new PropertyDescriptor(field.getName(), clazz);Method getMethod = pd.getReadMethod();Object o1 = getMethod.invoke(pojo1);Object o2 = getMethod.invoke(pojo2);if (o1 == null || o2 == null) {continue;}if (!o1.toString().equals(o2.toString())) {if (i != 1) {str += ";";}str += i + "、字段名称" + field.getName() + ",旧值:" + o1 + ",新值:" + o2;i++;}}} catch (Exception e) {e.printStackTrace();}// }return str;}}

转载于:https://my.oschina.net/guquanxin/blog/3021311

Java比较两个对象属性值变化情况,用于记录日志使用相关推荐

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

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

  2. Java比较两个对象是否相同并获取值不同的属性

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 最新项目中要加操作日志,同时要把用户修改了那些字段记录下来,在更新的时候就需要比较之前的数据和现在的 ...

  3. java 验证int长度_java使用注解校验对象属性值数据长度

    java使用注解校验对象属性值数据长度 定义注解 import java.lang.annotation.*; /** * describe:定义注解 * current user Maochao.z ...

  4. Java反射设置list的属性值_利用java反射比较两个实体有哪些属性值不一样

    分享一个利用反射实现比较两个实体属性值的方法: package net.zwq1105.test; import java.beans.Introspector; import java.beans. ...

  5. java属性监听_Java event事件监听属性值变化 demo

    1.定义一个 ValueChangedEvent ValueChangedEvent用于在设置属性值的时候,触发事件. package org.teamlet; import java.util.Ev ...

  6. java 反射 设置属性_Java通过反射机制动态设置对象属性值的方法

    /** * MethodName: getReflection * Description:解析respXML 在通过反射设置对象属性值 * User: liqijing * Date:2015-7- ...

  7. java 将对象属性值快速复制到另一个对象上

    需求:将对象属性值快速复制到另一个对象上,忽略空值属性和id 直接上代码:BeanUtils 工具类 注意:如果需要关注复制性能的话,推荐用插件https://blog.csdn.net/qiaoda ...

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

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

  9. vue 监听map数组变化_解决vue无法侦听数组及对象属性的变化问题

    一.数组 1.可以监听到的情况 如push.splice.=赋值(array=[1,2,3]) 2.无法监听到的情况 使用下标修改某个元素(这种比较常见) array[index] = 1 objec ...

最新文章

  1. excel甘特图模板_类似这样的甘特图是怎么做的?
  2. 备份一张iPhone拍照写入exif中的orientation图片
  3. (0103)iOS开发之Xcode 10 Error:Multiple commands produce问题及解决方案
  4. mapreduce任务出错最大尝试次数
  5. c++ vector clear()清除容器中所有数据
  6. navigationItem和navigationBar相关性
  7. 四周年了,谈谈一个程序员的职场心得
  8. Linux下开源邮件系统Postfix+Extmail+Extman环境部署
  9. Touch事件分发源码解析
  10. Mac电脑用CrossOver安装的Windows软件在哪?
  11. noi 8462 大盗阿福
  12. vs2010开发activex(MFC)控件/ie插件(一)
  13. matlab中多项式拟合polyfit()和插值函数polyval()的基础使用方法和历程
  14. sem与seo的区别
  15. 贪心科技机器学习训练营(七)
  16. VMware复制ubuntu16虚拟机时提示句柄无效解决方法
  17. 解密excel工作表保护
  18. FTP报550异常-Create directory operation failed
  19. 可以快速提高编程能力的9个建议
  20. 雨棚板弹性法计算简图_雨棚板的计算书

热门文章

  1. 距离矢量路由算法_计算机网络自学笔记:选路算法
  2. github里的默认域_FProbe 获取域/子域的列表,并探查工作中的http / https服务器。...
  3. python 查看文件名_python 查看文件名和文件路径
  4. python中property函数_Python中的property()函数
  5. pacman吃豆人_“植物河豚”狗爪豆,你吃过吗?
  6. python发送图片邮件exchangelib_python基于exchange函数发送邮件过程详解
  7. java数组冒泡排序法编程_java实现数组冒泡排序的方法
  8. qmc0文件怎么转换mp3_音频转换器哪个好 怎么剪切MP3音频制作手机铃声
  9. java捕捉sql执行异常_如何捕获java.sql.SQLIntegrityConstraintViolationException?
  10. mysql双机热备 读写分离_轻松搭建MySQL主从复制、读写分离双机热备)