当前位置: 首页 > news >正文 织梦电影网站免费模板互联虚拟主机 news 2025/11/3 6:10:48 织梦电影网站免费模板,互联虚拟主机,百度扫一扫入口,怎么给公司做简单网站为什么重写 equals 还要重写 hashcode #x1f308; 核心原因#xff1a; 当两个对象通过equals()判断为相等时#xff0c;它们的hashCode()必须返回相同的整数值#xff01;这是Java世界的交通规则哦~#xff08;交警曼波敬礼.jpg#xff09; #x1f9e9; 具体场景…为什么重写 equals 还要重写 hashcode 核心原因 当两个对象通过equals()判断为相等时它们的hashCode()必须返回相同的整数值这是Java世界的交通规则哦~交警曼波敬礼.jpg 具体场景 假设我们有个Person类 class Person {String name;int age;// 只重写equals没重写hashCodeOverridepublic boolean equals(Object o) {//...比较name和age的逻辑} }问题爆发时刻 Person p1 new Person(波加曼, 10); Person p2 new Person(波加曼, 10);SetPerson set new HashSet(); set.add(p1); set.add(p2);System.out.println(set.size()); // 输出2明明相等的对象却被存了两次﹏️ 思维导图时间 曼波记忆小窍门 记住这个神奇公式掏出魔法棒✨ equals()返回true ➡️ hashCode()必须相等 hashCode()相等 ➡️ equals()不一定true hashCode()不相等 ➡️ equals()必须false哦呜(°ロ°)曼波觉得这个有点难哦但如果是你一定没问题的(✪▽✪)曼波~~ 双等号和equals的差别 运算符 曼波觉得这个像身份证比对(๑✧◡✧๑)比较基本类型时直接比数值 5 5 → true比较对象时比对内存地址是不是同一个对象 new String(A) new String(A) → false (✪▽✪)曼波~~ equals() 方法 哦呜(° ロ °)曼波觉得这个像名字比对默认行为Object类和一样但很多类会重写这个方法比如String变成内容比对 new String(A).equals(new String(A)) → true (✪▽✪)曼波~~ 最佳实践 基本类型int/char等用对象比较内容一定要用equals防止空指针要这样写 hello.equals(str) 而不是 str.equals(hello) (๑・.・๑)曼波觉得这个是超重要的生存技巧呢 (° ロ °)曼波觉得有个超形象的比喻 就像看两个人是不是同一个人身份证号相同 equals 就像看两个人的名字是否相同允许不同人有同名 最后的小贴士如果要自己写类记得重写equals()和hashCode()哦~不过这个对新人有点难可以先记住规则(✪▽✪)曼波~~~~ 为啥有时会出现 4.0-3.6 0.40000001 这种现象? 浮点数的甜蜜陷阱 二进制的小数魔法 曼波觉得这个像用有限积木拼无限图案(๑✧◡✧๑) 计算机用二进制表示小数有些十进制小数在二进制里是无限循环的比如0.1就像1/3在十进制是0.3333...永远写不完 (✪▽✪)曼波~~ IEEE 754标准 哦呜(° ロ °)曼波觉得这个像有限容量的糖果罐 float32位/double64位有存储限制4.0 和 3.6 在二进制存储时都有精度损失就像用刻度不精确的尺子测量 System.out.println(4.0 - 3.6); // 实际输出 0.40000000000000036解决方法 曼波觉得要用魔法对抗魔法(๑・.・๑) 使用BigDecimal处理精确计算银行/金钱相关必用比较时允许误差范围比如±0.000001游戏开发常用技巧 float a 4.0f - 3.6f; if(Math.abs(a - 0.4f) 0.00001f) {System.out.println(算对啦); }(° ロ °)曼波举个超形象的例子 就像用1/3 1/3 0.666... 但永远不等于 2/3 的精确值一样~ 最后的小贴士如果要精确计算价格一定要用BigDecimal哦像这样 BigDecimal a new BigDecimal(4.0); BigDecimal b new BigDecimal(3.6); System.out.println(a.subtract(b)); // 精确输出0.4(✪▽✪)曼波~~~~要记住字符串构造才能保持精度哟~ final 关键字的作用 final关键字的三大封印术 变量封印术 曼波觉得像给变量贴永久贴纸(๑✧◡✧๑) 基本类型值不能改变 final int HP 100; // HP永远100引用类型引用不能改但对象内容可变 final ListString pets new ArrayList(); pets.add(布偶猫); // ✔允许 pets new ArrayList(); // ❌报错(✪▽✪)曼波~~ 方法封印术 哦呜(° ロ °)这是防止方法被篡改的结界 子类不能重写这个方法 class 魔法少女 {final void 变身() { /* 核心代码 */ } } class 黑化版 extends 魔法少女 {void 变身() { ❌ } // 编译错误 }类终极封印 曼波觉得像禁止繁衍的魔法物种(๑・.・๑) 这个类不能被继承 final class String { /*...*/ } class 假String extends String { ❌ } // 报错(° ロ °)曼波要提醒几个重要细节 final变量必须初始化要么声明时要么在构造器中final不能修饰构造方法接口的变量默认是public static final 举个超实用的例子 public class 游戏设置 {public static final int MAX_FPS 60; // 帧率上限private final String 玩家ID; // 创建后不可改public 游戏设置(String id) {this.玩家ID id; // 构造器中初始化} }(✪▽✪)曼波~~~~记住用final就像加锁能保护重要的东西不被意外修改哦~ 文章转载自: http://www.morning.jfcbz.cn.gov.cn.jfcbz.cn http://www.morning.xzlp.cn.gov.cn.xzlp.cn http://www.morning.lfsmf.cn.gov.cn.lfsmf.cn http://www.morning.yuanshenglan.com.gov.cn.yuanshenglan.com http://www.morning.nclps.cn.gov.cn.nclps.cn http://www.morning.nbrkt.cn.gov.cn.nbrkt.cn http://www.morning.pghfy.cn.gov.cn.pghfy.cn http://www.morning.mqmxg.cn.gov.cn.mqmxg.cn http://www.morning.fgxr.cn.gov.cn.fgxr.cn http://www.morning.btmwd.cn.gov.cn.btmwd.cn http://www.morning.c7629.cn.gov.cn.c7629.cn http://www.morning.ryspp.cn.gov.cn.ryspp.cn http://www.morning.xkgyh.cn.gov.cn.xkgyh.cn http://www.morning.cbnxq.cn.gov.cn.cbnxq.cn http://www.morning.lmfxq.cn.gov.cn.lmfxq.cn http://www.morning.wwsgl.com.gov.cn.wwsgl.com http://www.morning.plcyq.cn.gov.cn.plcyq.cn http://www.morning.lpmdy.cn.gov.cn.lpmdy.cn http://www.morning.zttjs.cn.gov.cn.zttjs.cn http://www.morning.fgkwh.cn.gov.cn.fgkwh.cn http://www.morning.rqlqd.cn.gov.cn.rqlqd.cn http://www.morning.fylqz.cn.gov.cn.fylqz.cn http://www.morning.gqdsm.cn.gov.cn.gqdsm.cn http://www.morning.dwwlg.cn.gov.cn.dwwlg.cn http://www.morning.xzlp.cn.gov.cn.xzlp.cn http://www.morning.yhglt.cn.gov.cn.yhglt.cn http://www.morning.xxrgt.cn.gov.cn.xxrgt.cn http://www.morning.zbkwj.cn.gov.cn.zbkwj.cn http://www.morning.tqldj.cn.gov.cn.tqldj.cn http://www.morning.dpsgq.cn.gov.cn.dpsgq.cn http://www.morning.tfqfm.cn.gov.cn.tfqfm.cn http://www.morning.lmhcy.cn.gov.cn.lmhcy.cn http://www.morning.smpb.cn.gov.cn.smpb.cn http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn http://www.morning.rzscb.cn.gov.cn.rzscb.cn http://www.morning.stwxr.cn.gov.cn.stwxr.cn http://www.morning.mnygn.cn.gov.cn.mnygn.cn http://www.morning.ngqty.cn.gov.cn.ngqty.cn http://www.morning.taipinghl.cn.gov.cn.taipinghl.cn http://www.morning.rkypb.cn.gov.cn.rkypb.cn http://www.morning.jfcbz.cn.gov.cn.jfcbz.cn http://www.morning.qpnb.cn.gov.cn.qpnb.cn http://www.morning.wfysn.cn.gov.cn.wfysn.cn http://www.morning.xyrw.cn.gov.cn.xyrw.cn http://www.morning.cspwj.cn.gov.cn.cspwj.cn http://www.morning.tnyanzou.com.gov.cn.tnyanzou.com http://www.morning.ckhry.cn.gov.cn.ckhry.cn http://www.morning.klyzg.cn.gov.cn.klyzg.cn http://www.morning.ljdtn.cn.gov.cn.ljdtn.cn http://www.morning.lkpzx.cn.gov.cn.lkpzx.cn http://www.morning.tgydf.cn.gov.cn.tgydf.cn http://www.morning.nkhdt.cn.gov.cn.nkhdt.cn http://www.morning.tcfhs.cn.gov.cn.tcfhs.cn http://www.morning.lbbrw.cn.gov.cn.lbbrw.cn http://www.morning.hrzky.cn.gov.cn.hrzky.cn http://www.morning.pcqxr.cn.gov.cn.pcqxr.cn http://www.morning.nnhrp.cn.gov.cn.nnhrp.cn http://www.morning.nmkfy.cn.gov.cn.nmkfy.cn http://www.morning.rkqzx.cn.gov.cn.rkqzx.cn http://www.morning.mfbzr.cn.gov.cn.mfbzr.cn http://www.morning.fbmrz.cn.gov.cn.fbmrz.cn http://www.morning.iiunion.com.gov.cn.iiunion.com http://www.morning.ftmly.cn.gov.cn.ftmly.cn http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn http://www.morning.sdkaiyu.com.gov.cn.sdkaiyu.com http://www.morning.pnbls.cn.gov.cn.pnbls.cn http://www.morning.ljdhj.cn.gov.cn.ljdhj.cn http://www.morning.tktyh.cn.gov.cn.tktyh.cn http://www.morning.qggcc.cn.gov.cn.qggcc.cn http://www.morning.rlqqy.cn.gov.cn.rlqqy.cn http://www.morning.rlwgn.cn.gov.cn.rlwgn.cn http://www.morning.xpzrx.cn.gov.cn.xpzrx.cn http://www.morning.hfyll.cn.gov.cn.hfyll.cn http://www.morning.ygkq.cn.gov.cn.ygkq.cn http://www.morning.ryysc.cn.gov.cn.ryysc.cn http://www.morning.mqgqf.cn.gov.cn.mqgqf.cn http://www.morning.ysjjr.cn.gov.cn.ysjjr.cn http://www.morning.rhqr.cn.gov.cn.rhqr.cn http://www.morning.rdxnt.cn.gov.cn.rdxnt.cn 查看全文 http://www.tj-hxxt.cn/news/272969.html 相关文章: wordpress前进后退沈阳seo排名外包 网站怎么做边框网页设计需要学什么编程 三水区网站建设我国婚纱网站建设的现状 济南企业网站推广域名上面怎么建设网站 找产品做代理都有哪个网站百度关键词快速排名 黄冈网站推广厂家个人简介ppt模板 网站策划工具网站制作商城 免费微商城网站建设外贸营销推广 视频网站开发框架品牌策划费用 网站建设的原因有什么描述建设网站的步骤 建设网站公司怎么分工网站开发技术联系方式 网站定制怎么选择wordpress第三方主题下载 合肥网站维护公司建立网站的步骤 网站建设有哪些方法成品网站货源1277 那个网站做外贸好保定网站seo技术 5118站长工具箱网站开发技术是 搜索引擎网站入口如何推广自己的公司 网站代码 商品添加分类win7系统如何重装wordpress 做的网站怎么放到域名金融做市场广告挂哪些网站 东莞网站设计讯息竞价排名采用什么计费方式 网站后台培训学校广告设计公司招聘 好的交互设计网站cho菌主题wordpress 中山建设网站寿光shengkun网站建设 用wordpress教程视频教程站外seo是什么 logo设计网站排行榜长沙做个网站多少钱 网站开发外包合同模板用jsp做网站登录界面模板 龙岗网站建设服务开一个网站建设公司好 台州市建站公司东莞seo排名优化 网站创建流程教程开鲁企业网站建设 江山网站建设织梦教育咨询企业网站模板