为了账号安全,请及时绑定邮箱和手机立即绑定

==不是用来比较内存地址的吗 为什么这里可以用 ==

==不是用来比较内存地址的吗  为什么这里可以用 ==

s.charAt[i]='a'

觉得还是应该用equals()

正在回答

6 回答

object类里面的equals方法是比较对象地址的,这里又是比较对象的内容的,有点混啊。

难道说String的equals方法重写Object里面的equals方法了?

0 回复 有任何疑惑可以回复我~

和object 类里面的equals 方法感觉有点反了

0 回复 有任何疑惑可以回复我~

我觉的应该是只有String的时候才用equals();char是直接用==的

0 回复 有任何疑惑可以回复我~

==是用来比较基本类型的

equals方法比较的是引用类型,比较两个是否一样,一般要重写的。

0 回复 有任何疑惑可以回复我~

正确,求分!!

0 回复 有任何疑惑可以回复我~

不管是equals()方法还是==,它们的实质都是用来做判断用的。

比如这里有两个对象(Person类有name属性):

Person jack = new Person();
Person tom = new Person(); 
if(jack.equals(tom)) //这是比较两个对象的内存地址
if(jack.name.equals(tom.name)) //这是比较它们的属性值

所以你上面的是在比较它们的属性值,而不是 比较内存地址。

给我‘最佳答案’把,谢谢!!!

2 回复 有任何疑惑可以回复我~
#1

smedlut 提问者

意思是equals()和等号==二者都可以比较内存地址? 其中equals()也可以比较属性对吗?
2015-10-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

==不是用来比较内存地址的吗 为什么这里可以用 ==

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信