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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 段郎 中级黑马   /  2014-4-20 12:12  /  666 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看了一些资料,会所“==”是比较值的,而equals是比较地址位置的,String 比较值和地址这比较好理解,但是对象比较时没有值啊,求高手解答一下,谢谢。

7 个回复

倒序浏览
对象中的内容都叫做对象的值啊!比如对象的属性,方法都是对象值得一部分
回复 使用道具 举报
雪碧拌米饭 发表于 2014-4-20 12:28
对象中的内容都叫做对象的值啊!比如对象的属性,方法都是对象值得一部分 ...

哦,原来这样,谢谢。
回复 使用道具 举报
"=="在比较基本数据类型的时候比较的是值,在比较引用型变量的时候比较的是地址值。equals方法时看两个对象的值是否相等,默认的也是比较对象的地址值,但是可以重写equals方法,来定义比较条件
回复 使用道具 举报
段郎 发表于 2014-4-20 12:36
哦,原来这样,谢谢。

不客气!努力!加油!
回复 使用道具 举报
曹冬明 发表于 2014-4-20 12:37
"=="在比较基本数据类型的时候比较的是值,在比较引用型变量的时候比较的是地址值。equals方法时看两个对象 ...

明白了,谢谢。
回复 使用道具 举报
彭飞 中级黑马 2014-4-20 14:37:17
7#
本帖最后由 彭飞 于 2014-4-20 14:40 编辑

我觉得除了一楼的回答,还可以这么理解

类是抽象的对不,而对象是实实在在的对不,
比如电饭煲是一个类把,
把两个一样的电饭煲比较,
      这个时候他们的属性,和功能都一模一样

再把两个不一样的电饭煲比较。
     可能封装的具体属性和,功能就有所区别,比如一个可以熬粥,一个只能做饭。

其实他们都是有值的,只不过封装起来了。
具体封装了什么我们不知道,但是封装起来的东西它会提供一个地址。
比较的时候就是指向了这个地址。

回复 使用道具 举报
对象比较的是地址
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马