黑马程序员技术交流社区

标题: "=="和equals方法究竟有什么区别? [打印本页]

作者: cheukfan    时间: 2016-11-29 22:35
标题: "=="和equals方法究竟有什么区别?
如题:"=="和equals方法究竟有什么区别?
作者: 飞扬跋扈    时间: 2016-11-29 22:38
equals方法比较对象是否相等。==一般判断引用变量地址是否相同。

作者: 1413157322    时间: 2016-11-29 23:35
一般情况下引用类型用equals()方法,而基本数据类型则用==;

定义equals方法的目的是比较引用数据类型的属性是否相等,如果该类没有写重写的话就继承object的,比较的就是地址值,所以一般使用到该方法的类都会重写该方法(要不然就失去了原来定义的意义了);

如果说equal方法比较属性,那么==就是比较值(基本数据类型值,地址值),

equals方法是通过==实现的
作者: 文明密码    时间: 2016-11-30 00:06
楼上的正解,学习了

作者: xyy222    时间: 2016-11-30 01:00
使用"= ="算符比较基本数据类型时,比较的是值相等;使用"=="算符比较对象时,比
较的是内存地址值
使用 equals()方法  比较对象时,比较的是对象的内容,与地址无关,如果没有重写
equals()方法就直接调用的是 Object 的 equals()方法。
作者: 袁志娜    时间: 2016-11-30 20:18

作者: 谭世霖    时间: 2016-12-1 11:52
值相同,址不相同
作者: 黑马嗨嗨嗨    时间: 2016-12-1 16:43
可以的!!




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