DESKTOP-F6K5GEP_20200829-崔婧涓
一、问题
==运算符与equals方法的区别
解决
相同点:
- == 和 equals 都用于完成比较操作
- == 和 equals 的判定结果都是逻辑值(即boolean类型取值 true 或 false )
不同点:
-
== 是个运算符,本质上用于比较两个值是否相等
-
- 使用 == 运算符比较的值可以是基本类型的值,也可以是引用类型的值
- 使用 == 运算符可以比较两个变量中存储的值是否相等
- 使用 == 运算符可以直接比较两个字面量是否相等
-
equals 是个方法,用于比较当前对象与另外一个对象是否"相等"
-
- 当当前对象通过自己的equals(Object) 方法与另一个对象比较后返回true时就认为当前对象与另外一个对象是"相等"的
- 因为 equals(Object) 方法是 Object类 定义的,所以所有对象(包括数组)都实现了该方法
- 通常,作为Object类的子类会重写 equals(Object) 方法从而实现当前对象与另一个对象的比较,子类重写 equals(Object) 方法时通常还要重写hashCode方法
- 当子类未重写从Object继承的 equals(Object) 方法时,该方法内部采用==运算符直接比较当前对象的引用是否等于另一个对象的引用
二、吐槽
还是觉得周日放一天假比较好。
近期评论