這篇文章要為大家詳解介紹一下Java compareToIgnoreCase的使用方法,希望對需要的朋友有幫助!
Java compareToIgnoreCase() 方法
compareToIgnoreCase() 方法用於以字典順序比較兩個字串,不考慮大小寫。
語法
int compareToIgnoreCase(String str)
參數
#str -- 要比較的字串。
傳回值
#如果參數字串等於此字串,則傳回值0;
實例
public class Test { public static void main(String args[]) { String str1 = "STRINGS"; String str2 = "Strings"; String str3 = "Strings123"; int result = str1.compareToIgnoreCase( str2 ); System.out.println(result); result = str2.compareToIgnoreCase( str3 ); System.out.println(result); result = str3.compareToIgnoreCase( str1 ); System.out.println(result); } }
以上程式執行結果為:0
-3
3
##說明:
關於compareToIgnoreCase()方法,不管參數是物件還是字串,最終要比較的都是兩個字串的不同,以下稱呼叫方法那邊的為原字串,方法參數裡的為參數字串。 這個方法分為兩種比較方式:1、不同的字元在較短字串長度之內時傳回值=原始字串與參數字元串中第一個不同字元相差的ASCII碼值,為原始減參。 範例如下:
String str1="javDscrspt"; String str2="jAvascript"; str1.compareToIgnoreCase(str2);此時回傳值為3,是d的ASCII碼(100)減去了a的ASCII碼值(97)得到或D與A相差得到的。 注意:只比較第一個不同(這個方法裡不考慮字母大小寫)的字符,後面的s和i也不一樣但不會進行比較了,無關字母大小寫所以只比較相同格式下相差的ASCII碼值。 2、不同的字元在較短字串長度之外時傳回值=原字串與參數字串相差的字元個數,原字串長度大時為正,反之為負。 範例如下:
String str1="javAScript"; String str2="JaVa"; str1.compareToIgnoreCase(str2);此時回傳值為6,是str1比起str2多出來的字元數。 注意:此時只比較位數,而無關ASCII碼值,並非是S(s)的ASCII碼值減去0的ASCII碼值,在參數字串前面字元和原字串一樣時,回傳值就是兩者相差的字元個數,即使改變後面的字元也不會影響到傳回的值,例如String str1="jAva233666",此時結果仍是6。 ###
以上是聊聊Java compareToIgnoreCase的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!