黑马程序员技术交流社区

标题: 字符串比较中,equals和"=="有什么不同? [打印本页]

作者: そ花痕ゐ蝶梦    时间: 2014-8-16 18:59
标题: 字符串比较中,equals和"=="有什么不同?
字符串比较中,equals和"=="有什么不同?
作者: cs8630323    时间: 2014-8-16 19:16
http://bbs.itheima.com/thread-137790-1-1.html
日经贴啊
作者: 반야_바라_밀    时间: 2014-8-16 20:00
equals比较的是两个字符串的内容,==比较的是两个字符串的逻辑地址。
作者: Huberry    时间: 2014-8-16 20:11
对于基本数据类型,"=="和"equals"都是比较两数据是否相同;

对于引用数据类型,"=="比较的是引用所指向对象的地址值,“equals”比较的是引用所指向对象的内容
作者: 舍我其谁    时间: 2014-8-16 20:29
在字符串中==比较的是地址,而equlas是String 类复写了object类中的equals方法,比较字符串本身的值
作者: 酋长第一    时间: 2014-8-16 20:40
== 可以比较基础类型和引用类型
==比较基本类型 :比较两边的值
==比较引用类型:比较两边的地址

equals 只可以比较引用类型:比较的是两边的内容是否相同
作者: 碎流    时间: 2014-8-16 21:17
== 只用于基本数字类型比较.对于对象equals和==都可以比较,只是==比较他们的地址值,equals比较的是内容.
作者: 回头浪子心    时间: 2014-8-16 21:54
equals是两字符串内容做比较,==比较的是地址,
作者: 亨利大帝    时间: 2014-8-16 22:09
==是比较运算符,它可以比较基本类型(byte short int long float double char boolean)和引用类型,比较基本类型的时候比较的是值,就是看值是否相等,比较引用类型的时候,比较的是地址值(不管是创建对象的堆内存地址值也好,还是方法区里的地址值)。
equals()方法只能比较引用类型,默认也是比较地址值,但一般我们会重写这个方法,进而常用来比较内容
作者: 臭豆腐_w    时间: 2014-8-16 22:54
前者比较的是内容,后者比较的是地址
作者: jiali    时间: 2014-8-16 22:59
equals 比较的是内容
== 比较是不仅内容还有类型
作者: 柠萌不    时间: 2014-8-16 23:05
这个问题真的是被问烂了啊...
==比较的是地址值,equals也一样,但是重写后可以比较内容...
作者: 华山狙击    时间: 2014-8-17 13:56
==比较内存地址;equals比较内容




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