首页 >> 读书频道 >> 电脑 >> Effective java学习笔记7:改写equals的时候遵守约定
 
· java高级多线程编程(
· J2SE 5版本的新特性
· java开发常用工具总结
· Java技巧:用Java
· JAVA优质代码编写的3
· Java趋势:脚本语言引
· 诊断Java代码:设计轻
· 用本地引用提高EJB访问
· 让Java说话-用Jav
· 用JavaBean实现文
· 用Java程序获取绝对路
· 通过Java Swing
 
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
· 2006高考录取规则
· 首批中国世界名牌产品和2
· 济南美食大全
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

Effective java学习笔记7:改写equals的时候遵守约定


查看有无更新版本

关键字:JAVA 2006-8-31

 

在java里面object equals()的概念是两个引用指向的是同一个对象,即两者指向同一个对象,才equals()。但是也有特例,比如说一些原始类型,integer,string等属于值相等。就是说,值相等,也就equals()了。实际上,他们都改写了object的equals()方法。但是”类型安全”的值类不需要改写equals()。
还有,当我们当前的类有特定的”相等”的定义的时候,而且我们的超类并没有改写equals()方法,就需要改写equals()方法了。
改写的规范-object必须满足:
1. 自反
2. 对称
3. 传递
4. 一致
5. X非空,x.equals(null)返回false
为了实现高质量的equals()改写,effective java提醒我们要注意一下几点:
1. 使用==操作符检查是否指向同一个对象,这是一个性能优化的手段。
2. 使用instanceof来检查是否为某个类,同样也是性能优化的手段。
3. 把实参转换到正确的类型,上面一步保证了这一步不会有错误。
4. 检查类里的每一个关键域是否都相等。
还有要注意的就是,改写equals()方法的同时,都要改写hashcode方法。(下一篇里会提到为什么要这样)

Effective java学习笔记7:改写equals的时候遵守约定

[ 1 ]
Effective java学习笔记7:改写equals的时候遵守约定 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑