×

equalsIgnoreCase() 方法

前端技术网 前端技术网 发表于2024-01-08 18:09:06 浏览791 评论0

抢沙发发表评论

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

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

equals,方法展示:

equalsIgnoreCase() 方法

publicbooleanequals(ObjectanObject)

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

对象时,结果才为 true,否则为false。

equalsIgnoreCase,方法展示:

publicbooleanequalsIgnoreCase(StringanotherString)

将此 String与另一个 String

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

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

equalsIgnoreCase() 方法

true,否则返回 false。

举例:

Stringa="lol";

Stringb="Lol";

System.out.println(a.equals(b));//输出为false

System.out.println(a.equalsIgnoreCase(b));//输出为true

二、java中equalsignorecase怎么用

equalsIgnoreCase(String anotherString)

anotherString:anotherString为指定比较的字符串对象。

示例使用equalsIgnoreCase()函数比较字符串strCom1与字符串strCom2是否相等。

String strCom1="MN";

String strCom2="mn";

boolean strB= strCom1.equalsIgnoreCase(strCom2);

典型应用 equals方法和equalsIgnoreCase方法都是应用十分广泛的方法,两者之间的区别为equals方法在比较的过程中严格区分大小写,而equalsIgnoreCase方法在比较的过程中忽略大小写。

扩展资料

public class Test{

public static void main(String args[]){

String Str1= new String("runoob");

String Str2= Str1;

String Str3= new String("runoob");

String Str4= new String("RUNOOB");

boolean retVal;

retVal= Str1.equals( Str2);

System.out.println("返回值="+ retVal);

retVal= Str3.equals( Str4);

System.out.println("返回值="+ retVal);

retVal= Str1.equalsIgnoreCase( Str4);

System.out.println("返回值="+ retVal);

}

}

参考资料:百度百科 equals(电脑编程语言)

三、equals()方法重写

String的equals()方法的重写是写在java.lang.String里面的,不是在这里,这里只是个示意例子,让你比较==和 equals方法的不同

=====================这是String中重写后的equals()方法

/**

* Compares this string to the specified object. The result is{@code

* true} if and only if the argument is not{@code null} and is a{@code

* String} object that represents the same sequence of characters as this

* object.

*

*@param anObject

* The object to compare this{@code String} against

*

*@return{@code true} if the given object represents a{@code String}

* equivalent to this string,{@code false} otherwise

*

*@see#compareTo(String)

*@see#equalsIgnoreCase(String)

*/

public boolean equals(Object anObject){

if(this== anObject){

return true;

}

if(anObject instanceof String){

String anotherString=(String)anObject;

int n= count;

if(n== anotherString.count){

char v1[]= value;

char v2[]= anotherString.value;

int i= offset;

int j= anotherString.offset;

while(n--!= 0){

if(v1[i++]!= v2[j++])

return false;

}

return true;

}

}

return false;

}

============================================

如ls所说,Object类的equals方法比较的是hashCode,如果String在没有重写equals的情况下

s1.equals(s2)返回应该是false,但是事实是它返回的是true,这就是书中所说的String的equals方法已经被重写

====================为了更深刻的说明,我们来重写下你的这个例子中MyValue的equals的方法,然后你和你现在的例子比较一下就知道了

public class OperatorsAndExpressions{//操作和表达

/**

*@param args

*/

void equalsMethod2(){

String s1=new String("hello");

String s2=new String("hello");

System.out.println(s1==s2);

System.out.println(s1.equals(s2));

class MyValue{//内部类,是用户自己定义的类因此,类MyValue的equals()方法是从

int i;//Object类继承的,其功能仍然是比较两个操作数是否是同一个对象

//为了更深刻说明重写equals方法的作用,我们来这里重写一下equals

@Override

public boolean equals(Object o){

if(this== o){

return true;

}

if(o instanceof MyValue){

if(((MyValue)o).i== this.i){

return true;

}

}

return false;

}

}

MyValue v1=new MyValue();

MyValue v2=new MyValue();

v1.i=v2.i=2003;

System.out.println(v1.equals(v2));

}

public static void main(String[] args){

// TODO Auto-generated method stub

OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();

//一元算术运算符的运用

OperAndExp.equalsMethod2();

}

}

=============================

原例子的运行结果

false

true

false

--------------改写后的运行结果

false

true

true

四、java中equals和equalsignorecase的区别

1、使用equals()方法比较两个字符串是否相等。它具有如下的一般形式:

boolean equals(Object str)

这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它返回true,否则返回false。这种比较是区分大小写的。

2、为了执行忽略大小写的比较,可以调用equalsIgnoreCase()方法。当比较两个字符串时,它会认为A-Z和a-z是一样的。其一般形式如下:

boolean equalsIgnoreCase(String str)

这里,str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它也返回true,否则返回false。

下面的例子说明了equals()和equalsIgnoreCase()方法:

classequalsDemo{

publicstaticvoidmain(Stringargs[]){

Strings1="Hello";

Strings2="Hello";

Strings3="Good-bye";

Strings4="HELLO";

System.out.println(s1+"equals"+s2+"->"+

s1.equals(s2));

System.out.println(s1+"equals"+s3+"->"+

s1.equals(s3));

System.out.println(s1+"equals"+s4+"->"+

s1.equals(s4));

System.out.println(s1+"equalsIgnoreCase"+s4+"->"+

s1.equalsIgnoreCase(s4));

}

}

该程序的输出如下所示:

Hello equals Hello-> true

Hello equals Good-bye-> false

Hello equals HELLO-> false

Hello equalsIgnoreCase HELLO-> true

文章分享到这里,希望我们关于equalsIgnoreCase() 方法和java中equalsignorecase怎么用的内容能够给您带来一些新的认识和思考。如果您还有其他问题,欢迎继续探索我们的网站或者与我们交流,我们将尽力为您提供满意的答案。