Java equals 方法以及和 ==的区别
来源:互联网 发布:linux怎么使用eclipse 编辑:程序博客网 时间:2024/06/06 03:41
equals 方法指示 其他某个对象 是否与此对象 "相等"。
2、对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。
3、传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 应返回 true。
4、一致性:对于任何非空引用值 x 和 y,多次调用 x.equals(y) 始终返回 true 或始终返回 false,前提是对象上 equals 比较中所用的信息没有被修改。
equals 方法在 非空对象 引用上实现 等价关系:
1、自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true。2、对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。
3、传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 应返回 true。
4、一致性:对于任何非空引用值 x 和 y,多次调用 x.equals(y) 始终返回 true 或始终返回 false,前提是对象上 equals 比较中所用的信息没有被修改。
对于任何非空引用值 x,x.equals(null) 都应返回 false。
注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。
Object类 equals(Object obj) 方法源码
public boolean equals(Object obj) { return (this == obj);}
对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,以及String类重写了 equals方法
==是比较地址的,而equals是比较内容的。
对于基本数据类型,不能使用equals方法,只能使用 "==" 等于号 进行值比较。
0 0
- Java equals 方法以及和 ==的区别
- java笔记equals和==的区别以及intern()方法的优势
- Java中关于==和equal的区别以及equals()方法重写
- Java的数据类型以及equals和==的区别
- java中 “==”和“equals”以及instanceof的区别
- java 区别“==”和equals()方法
- java中equals方法和“==”的区别
- java中equals方法和“==”的区别:(转)
- java中equals方法和“==”的区别
- java中equals方法和“==”的区别
- JAVA中==和equals方法的区别
- java equals方法和==的区别
- Java equals 方法和 == 的区别
- java中equals方法和“==”的区别
- Java中equals方法、==和hashCode的区别
- Java中equals方法和==号的区别
- Java中equals()方法和==的区别
- Java中==和equals()方法的区别
- 萌新试玩python的踩坑史
- qsort与sort结构体排序
- 506. Relative Ranks | 分数排名
- 单例模式(饿汉模式、懒汉模式)
- java Anonymous Inner Class(匿名内部类)
- Java equals 方法以及和 ==的区别
- 网络流 DE blog
- 数据结构(c++)最小堆模板类
- Struts2+spring+hibernate整合
- lantern代理设置
- liao
- 树状数组求逆序对与luogu1908
- 关于myeclipse中,运行新项目的时候,控制台会报旧项目错误的解决办法
- 记下Html标签上传图片