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

在面试和实际开发中常常会用到字符串String的比较,比较他们的值是否相等,和基本类型比较运算符不一样的是,基本类型比较运算符比较的是它们的值,而若是使用比较运算符比较String类的值是否相等,则可能得不到想要的结果。好比以下的代码。
6559238-fc36ec0998f92e42.png面试

从如上代码咱们能够看出来,对几本类型进行比较的时候能够使用比较运算符进行值的比较,而String类则须要使用equal()方法进行值的比较。为何会这样呢,咱们能够查阅String类的equals()源代码来进行分析。
6559238-114549eee535d1e1.png
(1)String类中equals()方法先对String对象和比较的对象进行比较,看是否指向同一个对象,若是true则是一个对象,值确定相等;
(2)判断比较对象是否是String类型的,若是不是就返回False;
(3)若是是String类型,则比较两个String对象长度是否相等,不相等就返回False;
(4)最后再在循环里面一个一个字符进行比较,value是此String类的值的字符数组。数组

最后返回是否相等。spa

相关文章
相关标签/搜索