版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whm18322394724/article/details/83864444
*前言 |
如果今天还没仔细看别人写的代码,不思考别人写的代码,或许我还是只知道java中字符串的比较用equals()和compareTo(),而不知道还有equalsIgnoreCase()、regionMatches()、contains(),所以多看看别人的代码也是一种学习。下面小菜就来简单讲解一下java中字符串的比较。
*equals() |
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() |
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() |
这个方法小菜不熟,就分享一下链接大家看看。
*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() |
2、返回值:Boolean
3、示例
String str1="a";
String str2="abcd";
String str3="efg";
Boolean flag1=str2.contains(str1);//-----------------------------------true
Boolean flag2=str3.contains(str1);//-----------------------------------false