JAVA中字符串比较equals和equalsIgnoreCase的区别

如题所述

equals和equalsIgnoreCase的区别是:equals考虑大小写,equalsIgnoreCase忽略大小写。


equals,方法展示:

public boolean equals(Object anObject)

将此字符串与指定的对象比较。当该参数不为 null,并且是与此对象表示相同字符序列的 String
对象时,结果才为 true,否则为false。


equalsIgnoreCase,方法展示:

public boolean equalsIgnoreCase(String anotherString)

将此 String 与另一个 String
比较,不考虑大小写。如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的;

当参数不为 null,且这两个 String 相等(忽略大小写),则返回
true,否则返回 false。


举例:

String a ="lol";
String b ="Lol";
System.out.println(a.equals(b));//输出为false
System.out.println(a.equalsIgnoreCase(b));//输出为true

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-23
在java.lang.String中为我们提供两个字符串的是否相等的函数equals和equalsIgnoreCase他们具有一下的关系:
public boolean equals(Object obj);
一般是A.equals(B)这样调用,对应的含义是:A和B两个字符串内容相同;
示例:"abc".equals("abc")返回的是true,"Abc".equals("abc")返回的是false;

public boolean equalsIgnoreCase(String str);
一般是A.equalsIgnoreCase(B)这样调用,对应的含义是A和B在忽略大小写的情况下内容是否相同。
示例:"abc".equals("abc")返回的是true,"Abc".equals("abc")返回的是true,"jul".equals("mkl")返回的是false
备注:在java中A==B是指A和B都指向同一个地址空间,这是java和某些语言的区别,即A==B即使都是'abc'他的返回值都会是false,因为他们的储存空间不同。
第2个回答  2018-08-04
equals方法来自于Object类
equalsIgnoreCase方法来自String类
equals对象参数是Object 用于比较两个对象是否相等
equals在Object类中方法默然比较对象内存地址,所有我们应该重写这个方法
equals在把对象放入HashMap中会被掉用
equalsIgnoreCase是String特有的方法
equalsIgnoreCase方法的参数是String对象
equalsIgnoreCase 方法是比较两个String对象是否相等(并且忽略大小写)
第3个回答  2016-05-21
equals是区分大小写,equalsIgnoreCase是不区分大小写。
比如asdfg和ASdfg,
按照equals,asdfg和ASdfg是不相等的,
但是按照equalsIgnoreCase,asdfg和ASdfg就是相等的
第4个回答  2016-06-09
equals表示比较字符串不忽略大小写,比如HI和hi比较结果是false
equalsIgnoreCase则是忽略大小写,即HI和hi比较结果为true