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

© wy363681759 中级黑马   /  2014-9-12 17:04  /  8489 人查看  /  30 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
“==”和equals 都用于表示两个对象相同,那么在编程的时候能不能互换使用,也就是在使用“==”时候,将该句所表达的内容用equals的语句表示,它们的使用各有什么限制吗?    求解惑。。。。

30 个回复

正序浏览
http://blog.csdn.net/yangliu9420/article/details/5480444
这里边对这个问题写的比较好,可以去看看
回复 使用道具 举报
hascode()尽量也重写吧
回复 使用道具 举报
学习了,有点眉目了
回复 使用道具 举报
yueyazhishang 发表于 2014-9-26 08:45
不用回答那么详细吧。你不担心楼主看的头晕吗?

==比较的是内存地址,equals比较的是对象的内容。
回复 使用道具 举报
不用回答那么详细吧。你不担心楼主看的头晕吗?
回复 使用道具 举报
“==”比较的是内存地址是否相同,
“equals”比较的是两个对象里的内容是否相同,而且equals方法可以重写
回复 使用道具 举报
呵呵。看着沙发哥那一大篇的,果断吓坏我了。。。
回复 使用道具 举报
哇,好多大神啊!
回复 使用道具 举报
2100 初级黑马 2014-9-15 06:47:04
21#
equals比较的是对象的引用(也就是比较内存地址),而“==”比较的是两个对象的内容;希望对你有用
回复 使用道具 举报
我来学习的
回复 使用道具 举报
呵呵!大家学习的都很细致啊!
回复 使用道具 举报
     记住一点就好了,  == 比较的是哈希值(地址), equals比较的是值。   
回复 使用道具 举报
==操作符专门用于比较两个量的值是否相等,也就是比较变量所对应的内存中所存储的数值是否相等,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符;

equals是用于比较两个独立对象的内容是否相等,就好比比较两个人长的是否一样,比较的对象是两个独立个体。经常用于比较 传递的字符串内容是否相等 。
是不是可以这么理解?    貌似更言简意赅。
回复 使用道具 举报
诺之忧 发表于 2014-9-14 14:41
==是用来判断字节码对象的,使用字符串判断的时候注意不要使用==,而是要使用equals ...

equals是用于比较两个独立对象的内容是否相等,就好比比较两个人长的是否一样,比较的对象是两个独立个体。经常用于比较 传递的字符串内容是否相等。  
回复 使用道具 举报
equals是用于比较两个独立对象的内容是否相等,就好比比较两个人长的是否一样,比较的对象是两个独立个体。经常用于比较 传递的字符串内容是否相等。  
回复 使用道具 举报
==是用来判断字节码对象的,使用字符串判断的时候注意不要使用==,而是要使用equals
回复 使用道具 举报
==比较的是内存地址,equals比较的是对象的成员属性
回复 使用道具 举报
equals用于引用数据类型,比较的是两个对象的内容
==用于基本数据类型和引用数据类型,比较的是数值是否相等
回复 使用道具 举报
ooEye 中级黑马 2014-9-13 23:52:27
11#
简单地说,equals比较的是内容,而==比较的是地址
回复 使用道具 举报
我是个人理解啊,你看看你能不能看的明白:在我看来==是比较内存地址这是无可争议的问题,但是equals呢,他是Object中的方法,对吧,这个既然是方法,而且Object是所有类的父类,所以也就是说所有类中都可一定义自己的equals方法,如果我定义了一个类,这个类中的的equals,不是单纯的比较内存地址呢?其实在java内部的好多类中都重写了equals方法
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马