JAVAG中关于“==”和equal的问题

[复制链接]
查看11 | 回复2 | 2011-9-13 07:00:58 | 显示全部楼层 |阅读模式
一道题:代码为:11.publicstaticvoidmain(String[]args){12.Integera=newInteger(10);13.Integerb=newInteger(10);14.Integerc=a;15.intd=10;16.doublee=10.0;17.}Whichthreeevaluatetotrue?(Choosethree)A.(a==c)B.(d==e)C.(b==d)D.(a==b)E.(b==c)F.(d==10.0)Answer:A,B,F问题:“==”比较的不是对象在内存中的地址吗?B和F为什么对呢?equals比较的才是值吧?
回复

使用道具 举报

千问 | 2011-9-13 07:00:58 | 显示全部楼层
a=c因为c就是对a对象的引用,(B).d=e,是因为d是基本数据类型,d和对象类型e比较的时候,java会将对象类型对应的基本类型取出来,然后做自动类型转换,再进行值比较,d==10.0,也是自动类型转换
回复

使用道具 举报

千问 | 2011-9-13 07:00:58 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行