public int compareTo(String anotherString)
按字典順序比較兩個字符串。該比較基于字符串中各個字符 的 Unicode 值。將此 String 對象表示的字符序列與參數(shù)字符串所表示的字符序列進行比較。如果按字典順序此 String 對象在參數(shù)字符串之前,則比較結果為一個負整數(shù)。如果按字典順序此 String 對象位于參數(shù)字符串之后,則比較結果為一個正整數(shù)。如果這兩個字符串相等,則結果為 0;compareTo 只有在方法 equals(Object) 返回 true 時才返回 0。
這是字典排序的定義。如果這兩個字符串不同,則要么它們在某個索引處具有不同的字符,該索引對二者均為有效索 引,要么它們的長度不同,或者同時具備上述兩種情況。如果它們在一個或多個索引位置上具有不同的字符,假設 k 是這類索引的最小值;則按照 < 運算符確定的那個字符串在位置 k 上具有較小的值,其字典順序在其他字符串之前。這種情況下,compareTo 返回這兩個字符串在位置 k 處的兩個不同的 char 值,即值:
this.charAt(k)-anotherString.charAt(k)
如果它們沒有不同的索引位置,則較短字符串在字典順序上位于較長字符串的前面。這種情況下,compareTo 返回這兩個字符串長度的不同,即值:
this.length()-anotherString.length()
指定者:
接口 Comparable<String> 中的 compareTo
參數(shù):
anotherString - 要比較的 String。
返回:
如果參數(shù)字符串等于此字符串,則返回 0 值;如果按字典順序此字符串小于字符串參數(shù),則返回一個小于 0 的值;如果按字典順序此字符串大于字符串參數(shù),則返回一個大于 0 的值。
--------------------------------------------------------------------------------
compareToIgnoreCase
public int compareToIgnoreCase(String str)
不 考慮大小寫,按字典順序比較兩個字符串。此方法返回一個整數(shù),它的正負號是調用 compareTo 的正負號,調用時使用了字符串的規(guī)范化版本,其大小寫差異已通過對每個字符調用 Character.toLowerCase(Character.toUpperCase(character)) 得以消除。
注意,此方法不 考慮語言環(huán)境,因此可能在某些特定的語言環(huán)境中產生不理想的排序。java.text 包提供 Collators 來完成語言環(huán)境敏感的排序。
參數(shù):
str - 要比較的 String。
返回:
一個負整數(shù)、零或正整數(shù),視指定的 String 大于、等于還是小于該 String 而定,不考慮大小寫。
posted on 2011-10-25 11:05
墻頭草 閱讀(1354)
評論(0) 編輯 收藏