Java——字符串的比较

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whm18322394724/article/details/83864444

*前言

   在写博客之前小菜想说一下今天收获的一句话“看别人的代码可以扩宽自己的眼界,看别人的代码才知道自己的low”。
   如果今天还没仔细看别人写的代码,不思考别人写的代码,或许我还是只知道java中字符串的比较用equals()和compareTo(),而不知道还有equalsIgnoreCase()、regionMatches()、contains(),所以多看看别人的代码也是一种学习。下面小菜就来简单讲解一下java中字符串的比较。

*equals()

1、作用:比较值
2、返回值:Boolean
3、示例
String str1="hello";
String str2="hello";
String str3="Hello";

Boolean flag1=str1.equals(str2);//-----------------------------true
Boolean flag1=str1.equals(str3);//-----------------------------false

* equalsIgnoreCase()

1、作用:比较值,不区分大小
2、返回值:Boolean
3、示例
String str1="hello";
String str2="hello";
String str3="Hello";

Boolean flag1=str1.equals(str2);//-----------------------------true
Boolean flag1=str1.equals(str3);//-----------------------------true

* regionMatches()

   判断string的子串是否相同。用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
   这个方法小菜不熟,就分享一下链接大家看看。

  String中的equalsIgnoreCase()方法与regionMatches()方法解析

*compareTo()

1、作用:按字典顺序比较两个字符串。该比较基于字符串中各个字符的Unicode值

2、返回值:int

3、示例

String str1="abcd";
String str2="abcd";
String str3="abcde";
String str4="efg";

System.out.println( str1.compareTo(str2) ); // 0 (相等) 
System.out.println( str1.compareTo(str3) ); // -1 (abcd相等,但str3比str1多了一个d,所以str1比str3的长度小1,此时的返回值是长度的差值) 
System.out.println( str1.compareTo(str4) ); // -4 (str1与str4从第一个字符就不相等,所以直接比较两个字符串的第一个字符的ASCII码,然后计算差值即可,"a"的ASCII码是97,"e"的ASCII码是101) 

*contains()

1、作用:包含
2、返回值:Boolean
3、示例
String str1="a";
String str2="abcd";
String str3="efg";

Boolean flag1=str2.contains(str1);//-----------------------------------true
Boolean flag2=str3.contains(str1);//-----------------------------------false

猜你喜欢

转载自blog.csdn.net/whm18322394724/article/details/83864444