黑马程序员技术交流社区

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

作者: 王凯路路    时间: 2014-8-24 20:08
标题: ==和equals的区别?
请问==和equals的区别是什么 ?  编写一些什么代码有助于理解他们的区别 ?

作者: ┣┫流枫    时间: 2014-8-24 21:42
==:
可以比较基本类型,也可以比较引用类型。
比较基本类型,比较的是值是否相同。
比较引用类型,比较的是地址值是否相同。
equals:
只能比较引用类型。
默认情况下,比较的是地址值是否相同。
如果想比较内容,请自己重写Object类的equals()方法。
比如String重写了equals方法,比较的就是字符串的内容是否相同

作者: TheBest__^    时间: 2014-8-25 10:04
==比较的是地址 equals比较的是值
作者: iefegend    时间: 2014-8-26 20:23
(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。2)对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
作者: 笑脸迷人    时间: 2014-8-26 20:41
好久之前的问题了~~以前我有过很详细的回答~




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