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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 汤芝 初级黑马   /  2012-8-20 12:20  /  1647 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

"=="和equals方法有什么区别?

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 鼓励下!

查看全部评分

5 个回复

倒序浏览
==操作符专门用来比较两个变量的值是否相等, equals方法是用于比较两个独立对象的内容是否相同,但是如果是基本类型比较,那么只能用==来比较,不能用equals

回复 使用道具 举报
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同(比较两个引用变量 所指向的内存地址是否相同),要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。

equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 新人回帖,奖励!

查看全部评分

回复 使用道具 举报
本帖最后由 杨鹏鹏 于 2012-8-20 13:40 编辑

对于原生数据类型来说,比较的是左右两边是否相等
对于引用类型来说,比较左右两边的引用是否指向同一个对象,或者说左右两边的引用地址是否相同
equals()方法,该方法定义在Object类当中,因此java中的每个类都具有该方法,对于Object类的equals()方法来说,它是判断调用equals()方法的引用于传进来的引用是否一致,即这两个引用是否指向的是同一个对象。对于Object类的equals()方法来说,他等价于== 。对于String类的equals()方法来说,它是判断当前字符串于传进来的字符串的内容是否一致

回复 使用道具 举报
这个问题建议百度,有专门的解释的,超级清楚
回复 使用道具 举报
哦,问题已解决。谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马