A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

字符串比较中,equals和"=="有什么不同?

12 个回复

倒序浏览
回复 使用道具 举报
equals比较的是两个字符串的内容,==比较的是两个字符串的逻辑地址。
回复 使用道具 举报
对于基本数据类型,"=="和"equals"都是比较两数据是否相同;

对于引用数据类型,"=="比较的是引用所指向对象的地址值,“equals”比较的是引用所指向对象的内容
回复 使用道具 举报
在字符串中==比较的是地址,而equlas是String 类复写了object类中的equals方法,比较字符串本身的值
回复 使用道具 举报
== 可以比较基础类型和引用类型
==比较基本类型 :比较两边的值
==比较引用类型:比较两边的地址

equals 只可以比较引用类型:比较的是两边的内容是否相同
回复 使用道具 举报
碎流 高级黑马 2014-8-16 21:17:39
7#
== 只用于基本数字类型比较.对于对象equals和==都可以比较,只是==比较他们的地址值,equals比较的是内容.
回复 使用道具 举报
equals是两字符串内容做比较,==比较的是地址,
回复 使用道具 举报
==是比较运算符,它可以比较基本类型(byte short int long float double char boolean)和引用类型,比较基本类型的时候比较的是值,就是看值是否相等,比较引用类型的时候,比较的是地址值(不管是创建对象的堆内存地址值也好,还是方法区里的地址值)。
equals()方法只能比较引用类型,默认也是比较地址值,但一般我们会重写这个方法,进而常用来比较内容
回复 使用道具 举报
前者比较的是内容,后者比较的是地址
回复 使用道具 举报
jiali 中级黑马 2014-8-16 22:59:46
11#
equals 比较的是内容
== 比较是不仅内容还有类型
回复 使用道具 举报
这个问题真的是被问烂了啊...
==比较的是地址值,equals也一样,但是重写后可以比较内容...
回复 使用道具 举报
==比较内存地址;equals比较内容
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马