千家信息网

Java中2个对象字段值怎么比较是否相同

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍了Java中2个对象字段值怎么比较是否相同的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中2个对象字段值怎么比较是否相同文章都会有所收获,下面我们
千家信息网最后更新 2025年01月18日Java中2个对象字段值怎么比较是否相同

这篇文章主要介绍了Java中2个对象字段值怎么比较是否相同的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中2个对象字段值怎么比较是否相同文章都会有所收获,下面我们一起来看看吧。

工具类

package com.shucha.deveiface.biz.utils; /** * @author tqf * @Description * @Version 1.0 * @since 2022-03-21 16:50 */ import com.shucha.deveiface.biz.model.Comparison; import java.lang.reflect.Field;import java.util.ArrayList;import java.util.List; public class CompareObjUtil {     public static List compareObj(Object beforeObj, Object afterObj) throws Exception{        List diffs = new ArrayList<>();         if(beforeObj == null) {            throw new RuntimeException("原对象不能为空");        }        if(afterObj == null) {            throw new RuntimeException("新对象不能为空");        }        if(!beforeObj.getClass().isAssignableFrom(afterObj.getClass())){            throw new RuntimeException("两个对象不相同,无法比较");        }         //取出属性        Field[] beforeFields = beforeObj.getClass().getDeclaredFields();        Field[] afterFields = afterObj.getClass().getDeclaredFields();        Field.setAccessible(beforeFields, true);        Field.setAccessible(afterFields, true);         //遍历取出差异值        if(beforeFields != null && beforeFields.length > 0){            for(int i=0; i list = CompareObjUtil.compareObj(apIData, apIData1);        System.out.println(list);    }
package com.shucha.deveiface.biz.model; import lombok.Data;import lombok.experimental.Accessors; /** * @author tqf * @Description  接口请求参数类 * @Version 1.0 * @since 2020-08-03 20:06 */@Data@Accessors(chain = true) //注解用来配置lombok如何产生和显示getters和setters的方法public class ApIData {     /**     * 身份证号     */    private String ident_card;     /**     * 姓名     */    private String name;     /**     * 户号  水务局使用查询     */    private String hh;     /**     * 用水月份  YYYY-MM     */    private String month;     /**     * 房东用户ID     */    private String owner_id;     /**     * 所属街道     */    private String street_name;}

关于"Java中2个对象字段值怎么比较是否相同"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Java中2个对象字段值怎么比较是否相同"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0