黑马程序员技术交流社区

标题: equals与==的区别? [打印本页]

作者: 小菜_一碟    时间: 2016-10-27 00:22
标题: equals与==的区别?
equals与==的区别?
作者: mafu1993    时间: 2016-10-27 00:38
两个在引用数据类型中都是比较地址值的,而重写后的equals方法能比较直,例如String这个类就是重写后的,比较了内容。基本数据类型中,等等比较的也是内容

作者: mouchunyan    时间: 2016-10-27 10:46
==比较基础数据类型equal比较引用数据类型。equals要比较引用数据的值,就的重写

作者: 若白衣卿相    时间: 2016-10-27 12:41
2楼说得对

作者: 小菜_一碟    时间: 2016-11-27 22:55
自己来回答下吧。
==号与equals()的区别如下:
1)==号既可以比较基本数据类型,也可以比较引用类型。对于基本类型是进行值比较,对于引用类型是进行地址比较,用来判断两个引用是否是指向同一个对象。
2)equals()用于引用类型比较,底层默认使用了==实现其功能,所以也是用来比较两个引用的地址。
3)但是,一般类都会对继承自Object类的equals()方法进行重写,用以进行其他内容(比如属性值)的比较来判断两个对象是否相等。所以通常equals()都是比较两个对象的内容。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2