首頁  >  文章  >  Java  >  聊聊Java compareToIgnoreCase的使用方法

聊聊Java compareToIgnoreCase的使用方法

巴扎黑
巴扎黑原創
2017-06-10 17:29:492213瀏覽

這篇文章要為大家詳解介紹一下Java compareToIgnoreCase的使用方法,希望對需要的朋友有幫助!

聊聊Java compareToIgnoreCase的使用方法

Java compareToIgnoreCase() 方法

compareToIgnoreCase() 方法用於以字典順序比較兩個字串,不考慮大小寫。

語法

int compareToIgnoreCase(String str)

參數

  • #str -- 要比較的字串。

傳回值

  • #如果參數字串等於此字串,則傳回值0;

  • 如果此字串小於字串參數,則傳回一個小於0 的值;
  • #如果此字串大於字串參數,則傳回一個大於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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn