Java中equals方法解析
来源:互联网 发布:matlab遗传算法cae 编辑:程序博客网 时间:2024/05/29 14:44
public boolean equals(Object o){ if(o == null){ return false; } if(o == this){ return true; } if(o instanceof Point){ /* * 子类转换为父类不需要做什么操作 * * 但是父类转换为子类需要强制类型转换, * 但是要注意,这可能出现类造型异常 */ Point p = (Point)o; //判断特征 return this.x==p.x&&this.y==p.y; }return false;}
这里用到3个if语句的作用:
equals方法比较的是两个对象的内容;
1::因此第一个if判断次对象是否为Null,如果为null则没有必要再继续做内容比较;
2:第二个if判断这个对象是否和当前使用中的对象是同一个对象,如果是同一个对象,那么这两个引用间内容的 比较毫无疑问是一样的;
3:第三个if经过前面2个if的判断后,可以肯定这个对象不为Null,并且并非为同一个对象,因此此次比较才有意义,在这两个对象做比较的时候,必须是同一类型的对象才能够做比较,不同的种类比较没有意义;因此在此处需要对传入进来的对象进行强制类型转换,把这个对象转换成功后,然后才对这两个对象的属性进行比较,看是是否一样。
0 0
- Java中equals方法解析
- JAVA中equals,hashcode方法解析
- Java equals 方法解析
- java中equals()解析
- java中hashCode() 和 equals()方法的解析
- java中重写equals方法
- java中重写equals方法
- java中equals重写方法
- java 中equals方法研究
- Java中equals()方法重写
- java中重写equals方法
- java中重写equals方法
- Java 中hashCode & Equals方法
- Java中equals()方法分析
- java中重写equals方法
- JAVA中equals方法使用
- java中equals方法详解
- Java中== equals hashcode解析
- 【Android基础篇】SimpleAdapter重写时响应CheckBox复选框状态改变
- 虚拟主机++iRedMail搭建邮箱服务器
- 控制connect超时时间(linux版本和Windows版本)
- Sicily 13915. Sequence
- 九度OJ-1019-简单计算器
- Java中equals方法解析
- Belated enlightenment on Quaternion
- 自然语言处理(NLP)网上资源整理
- Qt数据库总结
- Spring3工具类
- sorting - insert sort
- 漫谈C语言及如何学习C语言
- 自然语言处理(nlp)的主要范畴
- Sicily 13916. Smallest Box