STU8080 2021-08-22 10:31 采纳率: 100%
浏览 99
已结题

Java String工具类中的equals方法原理

JAVA的String工具类提供了equals方法,public boolean equals(Object anObject),入参是Object类,但是使用时入参可以直接是String类的对象,是什么原因?

package cn.it.test2;

public class StudentDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s1 = "HelloWorld";
        String s2 = "Hello";
        System.out.println(s1.equals(s2));
    }
}

输出:false

问题:
s1和s2都是String类的对象,语句System.out.println(s1.equals(s2))中,使用了String类中的equals方法,String工具类中的equals方法入参是Object类对象,为什么入参是String类对象时也可以?传String类对象时向上转型为Object类了吗?

  • 写回答

3条回答 默认 最新

  • 全栈极简 博客专家认证 2021-08-22 10:38
    关注

    Object是所有类型的基类,所以给string没问题。比较的逻辑是按照顺序,一个字符一个字符比较。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月30日
  • 已采纳回答 8月22日
  • 修改了问题 8月22日
  • 创建了问题 8月22日