當前位置:成語大全網 - 新華字典 - compareto java

compareto java

compareto java是什麽,讓我們壹起了解下?

compareto java是從數字上比較兩個Double對象。在應用到基本double值時,通過此方法進行的比較與通過Java語言的數值比較運算符()進行的比較。

壹. 在java中compareto的詳細方法介紹如下:

1、返回參與比較的前後兩個字符串的asc碼的差值,如果兩個字符串首字母不同,則該方法返回首字母的asc碼的差值。

String?a1?=?"a"; String?a2=?"c"; System.out.println(a1.compareTo(a2));//結果為-2

2、即參與比較的兩個字符串如果首字符相同,則比較下壹個字符,直到有不同的為止,返回該不同的字符的asc碼差值。

String?a1?=?"aa"; String?a2=?"ad"; System.out.println(a1.compareTo(a2));//結果為-3

3、如果兩個字符串不壹樣長,可以參與比較的字符又完全壹樣,則返回兩個字符串的長度差值。

String?a1?=?"aa"; String?a2=?"aa12345678"; System.out.println(a1.compareTo(a2));//結果為-8

4、返回為正數表示a1>a2, 返回為負數表示a1。

5、數字類型不能用compareTo,nt跟int的比較不能用compareTo方法,直接用大於(>)小於。

int?num1?=?4;int?num2?=?5; num1.compareTo(num2);//Cannot?invoke?compareTo(int)?on?the?primitive?type?int

妳可以先把妳的int型變量轉換成String再進行比較。

int?num1?=?4;int?num2?=?5;//parse?int?to?String System.out.println((num1+"").compareTo(num2+""));//-1 System.out.println(new?Integer(num1).toString().?compareTo(new?Integer(num2).toString()));//-1 System.out.println(String.valueOf(num1).compareTo(String.valueOf(num2)));//-1

6、compareToIgnoreCase忽略大小寫。

不考慮大小寫,按字典順序比較兩個字符串。此方法返回壹個整數,它的正負號是調用 compareTo 的正負號,調用時使用了字符串的規範化版本,其大小寫差異已通過對每個字符調用 Character.toLowerCase(Character.toUpperCase(character)) 得以消除。

註意,此方法不 考慮語言環境,因此可能在某些特定的語言環境中產生不理想的排序。java.text 包提供 Collators 來完成語言環境敏感的排序。

7、int型可以直接比較,所以沒有用到compareTo比較,如果聲明的是Date、String、Integer、或者其他的,可以直接使用compareTo比較。

Integer?n1?=?5; Integer?n2=?6; System.out.println(n1.compareTo(n2));//-1

二. Comparable接口中的compareTo,compareTo方法內必須做非空判斷(規範問題),當然int類型就不用了。

註意事項:

1、模型必須實現Comparable接口。

2、Collection.sort(list)會自動調用compareTo,如果沒有這句,list是不會排序的,也不會調用compareTo方法。

3、如果是數組則用Arrays.sort(a)方法註意要非空判斷,這裏實例就不判斷了。