Java中public boolean equalsIgnoreCase(String anotherString)用一个字符串与另一个字符串进行比较时,两个字符串的字符和长度相同,在大小写不一样的情况下(例如:a-z等同于A-Z),返回的结果为true,否者返回的是false;
源码里面首先比较两个字符串是否相等,如果相等则返回true,否则会在字符串长度相等并且不为空的情况下进行遍历转换比较
当转换后相等则返回true 否则返回false
而public boolean equals(Object anObject)在我们调用方法时,是使用一个字符串与另一个字符串(String)对象进行比较
在源码中我们可以看到是先把object类型的anObject转换为一个string字符串,然后再比较两个字符串的长度,再通过遍历比较字符串中的每个字符是不是一样,如果不一样则返回false,在遍历完之后所以字符都相等则返回true
我们通过自己的代码代码进行验证
返回结果如下
s1 euquls s2 =======false
s1 euquls s3 =======false
s1 euquls s4 =======true
s1 equalsIgnoreCase s2 =true
s1 equalsIgnoreCase s3 =false
小鲜肉在此分享一些自己遇到的问题和解决方法,望各位大佬多多建议,顺便帮我点个赞哟!
-------------
参考文献:https://blog.csdn.net/yujian_bing/article/details/8171379