Java对象的==和equals-Android面试准备2019-2-1
当使用==来判断两个变量是否相等时,如果两个变量是基本类型变量且都是数值类型(不一定要求数据类型严格相同),则只要两个变量的值相等就将返回true。但对于两个引用类型变量,只有它们指向同一个对象时==判断才会返回true。
但在很多时候,程序判断两个引用变量是否相等时,也希望有一种类似于"值相等"的判断规则,并不严格要求两个引用变量指向同一个对象。我们这里以String类型来举例代表引用类型变量,此时就可以利用String对象的equals()方法来进行判断。
【Java对象的==和equals-Android面试准备2019-2-1】equals()方法是Object类提供的一个实例方法,因此所有引用类型变量都可调用该方法来判断是否与其他引用类型变量相等。但这个方法要求两个引用变量指向同一个对象才会返回true(与==运算符比较的结果完全相同),因此这个Object类提供的equals()方法没有太大的实际意义,所以需要重写equals()方法来实现。当按照需求重写了equals()方法后(String类已经重写了equals()方法),就可以实现引用类型变量的"值相等"判断规则了。
文章图片
示例
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量