java compareto方法有什么用(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, 返回為負數表示a1<a2, 返回為0表示a1==a2;
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
登錄后復制
相關視頻教程推薦:Java視頻教程
以上就是java compareto方法有什么用的詳細內容,更多請關注風君子博客其它相關文章!
總結
以上是生活随笔為你收集整理的java compareto方法有什么用(compareTo)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 多线程实现倒计时,Linux
- 下一篇: linux错误代码0x8008005,利