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

为什么不能这样写 if ((s.charAt(i)).equals('a'))

如题,没有重写equals方法时,equals不是等价于==么?为什么不可以 

正在回答

2 回答

可以这么记:==可以用来比较①基本数据类型(int char...) ②引用对象(例如题中的"s")

                     equals()是String对象的方法,经常用来比较对象的内容是否相等。

==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象,也可以equals()方法是比较两个字符串对象中的内容是否一致,而此处s.charAt(i)返回类型为char型(字符型),而'a'为字符常量,所以用==较好

若有异议,请多多指教


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

char 是基本数据类型 没有equals方法............

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

去南极给企鹅洗热水澡 提问者

那就是 int double char都是直接用 == ,然后String这样子的就要用 equals?
2015-11-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么不能这样写 if ((s.charAt(i)).equals('a'))

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