文章目录
1.两者在API中的描述
equals为Object类提供的方法,而equalsIgnoreCase是String提供的特有的方法
equals:
equalsIgnoreCase:
2.代码比较
随意创建3个字符串:
String a = "abc";
String b = "abc";
String c = "AbC";
比较:
System.out.println("equals:"+a.equals(b));
System.out.println("大小写比较equals:"+a.equals(c));
System.out.println("equalsIgnoreCase:"+a.equalsIgnoreCase(b));
System.out.println("大小写比较equalsIgnoreCase:"+a.equalsIgnoreCase(c));
结果:
equals:true
大小写比较equals:false
equalsIgnoreCase:true
大小写比较equalsIgnoreCase:true
总结
- 两者都是比较字符串是否相等的方法,但各自属于不同的父类
- equalsIgnoreCase比较的是两个字符串的内容是否相等,并且是不区分大小写的比较;
- 但是equals要区分大小写,即,两者必须完全一致。
- 还有注意如果使用的不是String、Integer等类的equals方法(他们底层已经重写了equals),就要自己重写equals方法,否则依旧比较的是栈中的地址值。