java中equal与==的区别
介绍一下java中==和equals方法的区别。在初学java时需要弄清楚这个问题,以免在今后在编码过程中出现一些低级错误。
操作方法
- 01
首先,在eclipse中运行图示所示代码,通过结果对“==”与equals()方法就行分析比较,结果如图所示。
- 02
通过结果,关系操作符“==”可以做出如下总结: (1)对于基本数据类型:“==”根据基本数据类型的值判断是否相等,相等返回true,反之返回false。注意:两端数据类型可以不同,在不同的情况下也可以返回true; (2)引用数据类型:“==”比较的是引用类型变量的地址值是否相等,相等返回true,反之false。
- 03
equals()方法总结如下: (1)equals方法是基类Object中的方法(Object类是所有java类的根父类),因而只能处理引用类型变量; (2)如图所示,通过查看源码,在Object类,发现equals()仍然比较的是两个引用变量的地址值是否相等,相等则返回true,反之false; (3)如图所示,像String 包装类 Flie类 Date类这些类重写了Object类的equals()方法,比较是两个对象的“实体内容”是否完全相同,相同则返回true,反之false。
赞 (0)