Java——字串的比較
阿新 • • 發佈:2018-12-20
*前言 |
如果今天還沒仔細看別人寫的程式碼,不思考別人寫的程式碼,或許我還是隻知道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