java 语言中String类equals()方法源码阅读分析

    在面试和实际开发中经常会用到字符串String的比较,比较他们的值是否相等,和基本类型比较运算符不同的是,基本类型比较运算符比较的是它们的值,而如果使用比较运算符比较String类的值是否相等,则可能得不到想要的结果。比如如下的代码。

      从如上代码我们可以看出来,对几本类型进行比较的时候可以使用比较运算符进行值的比较,而String类则需要使用equal()方法进行值的比较。为什么会这样呢,我们可以查阅String类的equals()源代码来进行分析。

equals()源代码

(1)String类中equals()方法先对String对象和比较的对象进行比较,看是否指向同一个对象,如果true则是一个对象,值肯定相等;

(2)判断比较对象是不是String类型的,如果不是就返回False;

(3)如果是String类型,则比较两个String对象长度是否相等,不相等就返回False;

(4)最后再在循环里面一个一个字符进行比较,value是此String类的值的字符数组。

最后返回是否相等。

你可能感兴趣的:(java 语言中String类equals()方法源码阅读分析)