hashcode和equals的区别
枕着月光听歌
精选回答
equals:反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值。
hashCode:计算出对象实例的哈希码,并返回哈希码,又称为散列函数。
hashcode:对象的初始地址的整数表示
Java中的对象是JVM在管理,JVM会在她认为合适的时候对对象进行移动,比如,在某些需要整理内存碎片的GC算法下发生的GC。此时,对象的地址会变动,但hashcode不会改变。
1.hashCode是为了提高在散列结构存储中查找的效率,在线性表中没有作用。
2.一般一个类的对象如果会存储在HashTable,HashSet,HashMap等散列存储结构中,那么重写equals后最好也重写hashCode,否则会导致存储数据的不唯一性(存储了两个equals相等的数据)。而如果确定不会存储在这些散列结构中,则可以不重写hashCode。
3.若两个对象equals返回true,则hashCode有必要也返回相同的int数。
4.若两个对象equals返回false,则hashCode不一定返回不同的int数,但为不相等的对象生成不同hashCode值可以提高哈希表的性能。
5.若两个对象hashCode返回相同int数,则equals不一定返回true。
放过自己 2023-08-29 15:48:22
相关推荐
电脑如何添加域
先点击计算机,然后单击右键,选择属性项,更改设置选择更改。计算机名字更改为使用者名字,这样是为了区分域中的计算机,域填写需要加进去的域名,点击确定,弹出对话框,填写域管理员的账号密码。点击计算机,然后单击右键,...
展开详情茂县有多少人口
茂县,在2015年末,户籍人口为11.16万;茂县,隶属于四川省阿坝藏族羌族自治州。位于四川省西北部、阿坝藏族羌族自治州东南部的青藏高原东南边缘,地跨岷江和涪江上游高山河谷地带,属高原性季风气候;全县总面积39...
展开详情XP系统怎么进安全模式
安全模式是Windows系统中的一种特定模式,XP系统进入安全模式的方法:1、如果感觉系统出现问题,或者有一些无法卸载的软件,需要到安全模式中解决,那请先重新启动;2、?在系统未启动之前,一直不停地按F8键,直...
展开详情如何带好一支优秀的幼儿教师团队
实行人为管理,充分尊重和信任教师。实行人性化管理,让每一位教师都参与到管理中去。切实关心教师的生活,解决教师的后顾之忧。尊重和信任教师。善于用人,充分发挥团队的力量。注重教师培训,提高业务水平。按计划定期让老师...
展开详情板式家具设计需要学习哪些软件
CAD:主要绘制工具,此软件是家具设计师的重点学习软件。3DMAX:产品建模,场景建模主要展示出产品的特质构造。Vray:配合3DMAX,渲染出产品展示产品三维和各种材质的特点。Coreldraw:产品包装图纸...
展开详情