首頁  >  文章  >  Java  >  java compareto方法有什麼用

java compareto方法有什麼用

青灯夜游
青灯夜游原創
2021-05-08 16:34:4717232瀏覽

在java中,compareTo()方法用於將Number物件與方法的參數進行比較,語法格式「變數1.compareTo(變數2)」;compareTo()方法從值的第一位開始比較,如果遇到不同的字符,則傳回這兩個字符的ascii值差值。

java compareto方法有什麼用

本教學操作環境:windows7系統、java8版、DELL G3電腦。

java中的compareto方法

compareTo() 方法用於將 Number 物件與方法的參數進行比較。可用於比較 Byte, Long, Integer等。

compareTo方法從第一位開始比較, 如果遇到不同的字元,則馬上傳回這兩個字元的ascii值差值.傳回值是int型別

範例

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, 傳回為負數表示a1e01c7083c4ba471bf2ee46769f2b7dfc) #小於(<) 或 等於(==) 不等於(!=)來比較可以

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 套件提供 Collat​​ors 來完成語言環境敏感的排序。

7.int型可以直接比較,所以沒有用到compareTo比較,如果宣告的是Date、String、Integer、或其他的,可以直接用compareTo比較,#

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

相關影片教學推薦:

Java影片教學#

以上是java compareto方法有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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