最新要闻
- 当前最新:《狂飙》取景地拍照收费摊主已搬离:没给续签合同
- 环球速看:索尼A7M4将发布2.0固件 或下放部分索尼A7R5功能
- 80%的人出错了 你的数码相机用对了吗?
- 全球热讯:爱奇艺奇迹一般的赚钱了!但是 就这它也好意思?
- 快看点丨AMD Zen4锐龙9 7945HX大放异彩!16核心打平Intel 24核心
- 世界今头条!长色斑的原因有哪些_脸上为什么会长色斑
- 环球观焦点:AMD发布23.2.2版驱动:RX 7900显卡小打鸡血 性能提升14%
- 天天最新:大理州5个新能源装备制造项目投产
- 深圳一外卖小哥疑送餐时猝死:曾拼命跑上六楼
- 环球热头条丨向上捅破天 吉利银河支持低轨卫星技术:全球无盲区定位
- 13代酷睿i9+满血4060显卡!华硕天选4正式开售 到手价8999元
- 当前短讯!造车新势力 电动自行车品牌“VELOTRIC”A轮融资:获5000万元
- 中疾控提醒:近期水痘处于高发期 要注意做好防护!
- 13代酷睿+RTX 4060!七彩虹将星X16 Pro图赏
- 19999元起 雷蛇推出2023款灵刃15游戏本:i7+RTX 4060
- 股价大涨7% 阿里发布Q3财报:营收2477.6亿 利润超456亿
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
18、实体类对象比对-JSON
(相关资料图)
实体类对象相互比较-JSON方式:
在实际开发中,我们经常需要比较同一个自定义类型的两个不同对象的属性值是否相等,采用JSON方式比较可快速有效实现相关需求。JSONobject是FastJson提供的对象,在API中是用一个私有的常量map进行封装的,实际就是一个map,只不过FastJson对其进行了封装,添加了很多方便快捷的属性方法。
1、相关依赖:
com.alibaba fastjson 1.2.79
2、自定义JSON比较工具方法:
public static Boolean emtityToCompare(Object oldObject, Object newObject){ JSONObject jsonObject1 = JSONObject.parseObject(JSON.toJSONString(oldObject)); log.info("JSON对象1:{}",jsonObject1); JSONObject jsonObject2 = JSONObject.parseObject(JSON.toJSONString(newObject)); log.info("JSON对象2:{}",jsonObject2); if(ObjectUtils.isEmpty(jsonObject1) && ObjectUtils.isEmpty(jsonObject2)){ return true; }else { if(ObjectUtils.isEmpty(jsonObject1)){ return false; }else { return jsonObject1.equals(jsonObject2); } } }
3、验证:
(1)、声明实体类:
无重写hashCode()和 equals()方法
public class PropertiesVO{ private String type; private Integer cpu; private Integer ram; private Integer disk; public String getType() { return type; } public void setType(String type) { this.type = type; } public Integer getCpu() { return cpu; } public void setCpu(Integer cpu) { this.cpu = cpu; } public Integer getRam() { return ram; } public void setRam(Integer ram) { this.ram = ram; } public Integer getDisk() { return disk; } public void setDisk(Integer disk) { this.disk = disk; }}View Code
(2)、test测试:
@Slf4jpublic class EntityDemo { public static void main(String[] args) { PropertiesVO propertiesVO = new PropertiesVO(); PropertiesVO propertiesVO1 = null; PropertiesVO propertiesVO2 = new PropertiesVO(); propertiesVO2.setType("0"); PropertiesVO propertiesVO3 = new PropertiesVO(); propertiesVO3.setType("0"); PropertiesVO propertiesVO4 = new PropertiesVO(); propertiesVO4.setType("1"); System.out.println(propertiesVO2.equals(propertiesVO3));//false,无重写hashCode()和 equals()方法 System.out.println(propertiesVO1.equals(propertiesVO));//NullPointerException空指针异常 System.out.println(emtityToCompare(propertiesVO1, propertiesVO));//true System.out.println(emtityToCompare(propertiesVO2, propertiesVO3));//true System.out.println(emtityToCompare(propertiesVO, propertiesVO2));//false System.out.println(emtityToCompare(propertiesVO3, propertiesVO4));//false } public static Boolean emtityToCompare(Object oldObject, Object newObject){ JSONObject jsonObject1 = JSONObject.parseObject(JSON.toJSONString(oldObject)); log.info("JSON对象1:{}",jsonObject1); JSONObject jsonObject2 = JSONObject.parseObject(JSON.toJSONString(newObject)); log.info("JSON对象2:{}",jsonObject2); if(ObjectUtils.isEmpty(jsonObject1) && ObjectUtils.isEmpty(jsonObject2)){ return true; }else { if(ObjectUtils.isEmpty(jsonObject1)){ return false; }else { return jsonObject1.equals(jsonObject2); } } }}View Code
Java中==与equals()的区别:
1、==是运算符,用于比较两个变量是否相等;
2、equals()是Object类的方法,用于比较两个对象是否相等;
总结:
基本数据类型比较使用==,比较他们的值。默认情况下,当对象使用==比较时,比较的是内存地址,如果需要比较对象的内容,需要重写equal方法。
hashCode()和 equals()方法为什么要同时重写:
equals()方法在其内部是调用了"=="运算符,即在不重写equals方法的情况下,equals方法是比较两个对象是否具有相同内存地址。而equals方法的重写涉及到值传递与地址传递问题(即比较值与地址相等的问题)。而hashCode()默认返回的是这个对象的内存地址,要求相等的对象必须拥有相等的hashcode,所以重写了equals()方法必须要同时重写hashcode()。
JSONobject操作参考
Java基础参考
18、实体类对象比对-JSON
产品经理,项目经理,FTO
当前最新:《狂飙》取景地拍照收费摊主已搬离:没给续签合同
环球速看:索尼A7M4将发布2.0固件 或下放部分索尼A7R5功能
80%的人出错了 你的数码相机用对了吗?
全球热讯:爱奇艺奇迹一般的赚钱了!但是 就这它也好意思?
快看点丨AMD Zen4锐龙9 7945HX大放异彩!16核心打平Intel 24核心
世界今头条!长色斑的原因有哪些_脸上为什么会长色斑
热门:007 - 研究
每日信息:47.多态
第二章 物理层
day02-自己实现Mybatis底层机制-01
世界快资讯:CSS背景设置与Emmet语法
环球观焦点:AMD发布23.2.2版驱动:RX 7900显卡小打鸡血 性能提升14%
天天最新:大理州5个新能源装备制造项目投产
深圳一外卖小哥疑送餐时猝死:曾拼命跑上六楼
环球热头条丨向上捅破天 吉利银河支持低轨卫星技术:全球无盲区定位
13代酷睿i9+满血4060显卡!华硕天选4正式开售 到手价8999元
当前短讯!造车新势力 电动自行车品牌“VELOTRIC”A轮融资:获5000万元
中疾控提醒:近期水痘处于高发期 要注意做好防护!
13代酷睿+RTX 4060!七彩虹将星X16 Pro图赏
19999元起 雷蛇推出2023款灵刃15游戏本:i7+RTX 4060
股价大涨7% 阿里发布Q3财报:营收2477.6亿 利润超456亿
全球快报:第八章 从源文件到可执行文件
天天通讯!《黑豹》《蚁人》皆扑街 漫威超级英雄为何在国内失宠?
男子一脚急刹车醒来直接四肢瘫痪 医生提醒:车祸受伤后别随意拖拽
焦点快看:系列首次支持:三星Galaxy Tab S9平板终于支持IP67防水
每日热文:三星S23首销:仅重168g的骁龙8 Gen2旗舰 屏幕比小米13更小
涨价2000只是开胃菜!销售:特斯拉还要涨价
全球今热点:电工化身“Tony”,为留守老人解决“头”等大事
环球聚焦:邓超谈《中国乒乓》排片少:大家的不容易我非常理解
今亮点!摩根大通已限制员工使用ChatGPT:数据安全更重要
世界视讯!我国第三款国产ECMO产品获批上市:性能达到国际水平
全球即时:月薪4万招人去非洲养鸡当场长?企业回应:环境艰苦 不招年轻人
当前焦点!Windows 上 Docker 部署 MongoDb 并构建数据持久化
2022最新整理iOS app上架app详细教程
webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题
当前最新:记录--前端项目中运行 npm run xxx 的时候发生了什么?
前沿资讯!科考中的意外收获!中国科学家在非洲发现消失百余年的濒危植物
天天速读:极氪001再遭奇葩故障:中控黑了、仪表花了、HUD“涂马赛克”
刚买两个月的谷歌Pixel 7 Pro翻车:绿屏无响应 用户绝望了
世界今头条!《和平精英》将推出开放世界玩法“绿洲世界” 能发射火箭
焦点信息:连过三科!新疆小伙1天拿到驾驶证
今日热议:低代码选型,论协同开发的重要性
【JVM】运行时内存分配
opencv-python 批量更改图像分辨率并且保留图像原有的透明度
热点!数据库概念
世界滚动:k8s~ingress限流机制
全球即时看!方正证券研究报告:行到水穷处,坐看云起时
环球快资讯丨不怕零下40℃极寒!我国复兴号高寒智能动车组投入运行
天天播报:为防员工摸鱼办公桌旁装监控 员工:很无语、感觉没隐私
《王者荣耀》花木兰新皮肤明日上线:143元 美背歌姬
世界时讯:海底捞回应禁止自带菜:可自带酒水饮品
天天短讯!RTX 4090高画质如何?《原子之心》PC平台性能分析:多配置流畅运行
【世界热闻】单特征线性回归
全球实时:为什么说《ps1屠龙刀》是awk、sed的恩人?
天天最资讯丨C语言在线代码运行编译工具推荐
全球快播:联想首款GeekPro游戏本真机公布:1TB SSD 超高性价比
环球微头条丨我国研发人员总量稳居世界首位 顶尖科技人才加速涌现
跑着跑着天窗会掉 奔驰中国召回超2万辆汽车
68岁成龙18年后再拍《神话2》 定名《传说》 古力娜扎主演
观速讯丨外卖员穿工装禁入成都高端商场 成都SKP回应:内部规定
焦点日报:135期 手绘汽车壁纸|插画 卫士还是老款好看 路虎卫士无水印手机壁纸
每日快讯!手把手教你为基于Netty的IM生成自签名SSL/TLS证书
当前热门:《我想进大厂》之Spring夺命连环10问
《分布式技术原理与算法解析》学习笔记Day20
世界看点:数据治理如何做?火山引擎DataLeap帮助这款产品3个月降低计算成本20%
世界今头条!装饰器设计模式这样学,保你必懂!
当前速讯:手机端ChatGPT搜索来了!微软2周火速上线 @Bing即用
多辆房车霸占高速服务区露营:有车主搭帐篷还晒咸菜
魔兽等游戏停服一个月 暴雪真不着急:两家中国公司抢破头
P1219 [USACO1.5]八皇后 Checker Challenge
世界新资讯:Java单元测试浅析(JUnit+Mockito)
81python装饰器
环球聚焦:《龙之家族》第二季明年首播
环球播报:Nginx基础03:配置文件nginx.conf(Part2)
【独家焦点】Python工具箱系列(二十六)
有奖调研!第五期(2022-2023)传统行业云原生技术落地调研——金融篇
全球快资讯丨A/B 测试成为企业“新窗口”:增长盈利告别经验主义,数据科学才是未来
晨光文具批发总部电话_石家庄晨光办公用品有限公司
环球要闻:新款特斯拉Model 3实车谍照曝光:疑似加长、内饰大改
可口可乐风味饮品!柠檬道日式气泡酒大促:12罐不到30元
前沿资讯!《嗜血印》将推出女祭司1/4比例雕像 性感热辣吸睛
焦点快播:送礼新思路!淘宝公布2023年度丑东西:网红青蛙服入选“年度五丑”
天天快报!C# Socket 通信时,怎样判断 Socket 双方是否断开连接
易基因|ChIP-seq等组学研究鉴定出结直肠癌的致癌超级增强子:Nature子刊
报道:顶象APP加固的“蜜罐”技术有什么作用
为什么带NOLOCK的查询语句还会造成阻塞
全球今亮点!支付宝二面:使用 try-catch 捕获异常会影响性能吗?大部分人都会答错!
名山大川是什么意思?名山大川有哪些?
喜欢被剧透的人是什么心理?喜欢被剧透的人是什么倾向?
每日快报!58岁清华毕业找不到超5000元工作 网友:我不是清华的咋办
天天热门:爷青结!《DNF》端游正式更名《地下城与勇士:创新世纪》:图标、文字调整
全球即时:《原子之心》优化非常好 但Xbox Series S仍存掉帧问题
精致又简约!雷孜LaCie新棱镜移动硬盘评测:速度全程稳如初
小米13 Ultra手机壳曝光:中分四摄、凸起严重
戴拿奥特曼飞鸟信扮演者怎么了?戴拿奥特曼的结局是什么?
四要十不准是什么意思?四要十不准内容有哪些?
童话故事是什么文体?出自童话故事的成语有哪些?
八门神器怎么打不开?八门神器使用教程