文
章
目
录
章
目
录
Java面试题:谈谈==与equals()的区别?
得分点
== 和 equals() 比较基本变量用法,== 和 equals() 对比引用变量的用法
标准回答
在Java中,==
和 equals()
都是用于判断两个变量是否相等的方式。以下是它们的用法:
- 基本变量的比较:
- 使用
==
运算符比较两个基本类型的变量。如果两者都是数值类型(不一定需要数据类型完全相同),只要它们的值相等,==
运算符将返回TRUE
。
- 使用
- 引用变量的比较:
- 对于两个引用变量,只有当它们指向同一个引用时,
==
运算符才会返回TRUE
。这意味着它们引用的是同一个对象。
- 对于两个引用变量,只有当它们指向同一个引用时,
- equals() 方法:
equals()
方法是Object
类提供的一个实例方法,因此所有的引用变量都可以调用equals()
方法来判断它们是否相等。- 默认情况下,
equals()
方法与==
运算符没有区别,它同样要求两个引用变量指向同一个对象才会返回TRUE
。 - 但是,如果我们希望自定义判断相等的标准,可以通过重写
equals()
方法来实现。重写equals()
方法时,相等条件是由业务要求决定的,因此equals()
方法的实现是由业务要求决定的。这允许我们根据对象的属性或其他条件来定义相等性。
更多关于==与equals()的区别的深入说明,请参考文章《Java String equals()方法》