smedlut
2015-10-27 16:23
==不是用来比较内存地址的吗 为什么这里可以用 ==
s.charAt[i]='a'
觉得还是应该用equals()
object类里面的equals方法是比较对象地址的,这里又是比较对象的内容的,有点混啊。
难道说String的equals方法重写Object里面的equals方法了?
和object 类里面的equals 方法感觉有点反了
我觉的应该是只有String的时候才用equals();char是直接用==的
==是用来比较基本类型的
equals方法比较的是引用类型,比较两个是否一样,一般要重写的。
正确,求分!!
不管是equals()方法还是==,它们的实质都是用来做判断用的。
比如这里有两个对象(Person类有name属性):
Person jack = new Person(); Person tom = new Person(); if(jack.equals(tom)) //这是比较两个对象的内存地址 if(jack.name.equals(tom.name)) //这是比较它们的属性值
所以你上面的是在比较它们的属性值,而不是 比较内存地址。
给我‘最佳答案’把,谢谢!!!
Java入门第三季
409792 学习 · 4340 问题
相似问题