基于java中两个对象属性的比较
发布时间 - 2026-01-11 03:28:07 点击率:次两个对象进行比较相等,有两种做法:

1、情况一:当仅仅只是判断两个对象是否相等时,只需重写equals()方法即可。这里就不用说明
2、情况二:当除了情况一之外,还需知道是那个属性不同,那么就需要采用类反射,
具体代码如下:
public static void main(String[] args) {
A a = new A();
a.setUserName("a");
a.setPassword("p");
a.setQq("q");
a.setWechat("w");
A b = new A();
b.setUserName("a");
b.setPassword("p");
b.setQq("q");
b.setWechat("ww");
//只是比较两个对象是否相等,那么直接重写equals方法
System.out.println( a.equals(b));
try {
Map<String, String> maps = compare( a, b );
System.out.println();
} catch (Exception e) {
e.printStackTrace();
}
}
public static <T> Map<String, String> compare(T obj1, T Obj2)
throws Exception {
Map<String, String> result = new HashMap<String, String>();
Field[] fs = obj1.getClass().getDeclaredFields();
for (Field f : fs) {
f.setAccessible(true);
Object v1 = f.get(obj1);
Object v2 = f.get(Obj2);
if( ! equals(v1, v2) ){
result.put(f.getName(), String.valueOf(equals(v1, v2)));
}
}
return result;
}
public static boolean equals(Object obj1, Object obj2) {
if (obj1 == obj2) {
return true;
}
if (obj1 == null || obj2 == null) {
return false;
}
return obj1.equals(obj2);
}
以上这篇基于java中两个对象属性的比较就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# java
# 对象属性比较
# Java比较两个对象大小的三种方法详解
# Java比较对象大小两种常用方法
# Java比较两个对象是否相等的方法
# Java各种比较对象的方式的对比总结
# 在Java中如何比较两个对象浅析
# Java中对象的比较操作实例分析
# Java 中比较对象的用法小结
# JAVA中对象常见的几种方法比较
# 给大家
# 重写
# 只需
# 希望能
# 这篇
# 有两种
# 还需
# 小编
# 大家多多
# String
# args
# Map
# static
# void
# main
# setUserName
# ww
# setQq
# setWechat
# println
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Bootstrap整体框架之CSS12栅格系统
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
JavaScript常见的五种数组去重的方式
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
如何快速启动建站代理加盟业务?
如何快速登录WAP自助建站平台?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
微信小程序 五星评分(包括半颗星评分)实例代码
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
php485函数参数是什么意思_php485各参数详细说明【介绍】
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
Laravel如何实现API速率限制?(Rate Limiting教程)
详解Android图表 MPAndroidChart折线图
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
利用python获取某年中每个月的第一天和最后一天
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
大连网站制作公司哪家好一点,大连买房网站哪个好?
canvas 画布在主流浏览器中的尺寸限制详细介绍
如何在万网自助建站中设置域名及备案?
JavaScript Ajax实现异步通信
如何有效防御Web建站篡改攻击?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
如何注册花生壳免费域名并搭建个人网站?
WEB开发之注册页面验证码倒计时代码的实现
nodejs redis 发布订阅机制封装实现方法及实例代码
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
深圳网站制作培训,深圳哪些招聘网站比较好?
如何在七牛云存储上搭建网站并设置自定义域名?
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
Laravel模型事件有哪些_Laravel Model Event生命周期详解
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
Laravel如何实现一对一模型关联?(Eloquent示例)
Laravel怎么清理缓存_Laravel optimize clear命令详解
在线制作视频网站免费,都有哪些好的动漫网站?
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
下一篇:Linux常用命令cp怎么使用
下一篇:Linux常用命令cp怎么使用

