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

来源:2-4 Java 中的 String 类常用方法 Ⅱ

去南极给企鹅洗热水澡

2015-11-02 17:42

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

写回答 关注

2回答

  • 帝国大学
    2016-01-16 15:36:09

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

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

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

    若有异议,请多多指教


  • 天启之魂
    2015-11-02 18:28:24

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

    去南极给企鹅...

    那就是 int double char都是直接用 == ,然后String这样子的就要用 equals?

    2015-11-02 22:24:04

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题