在java中,compareto()方法用于将number对象与方法的参数进行比较,语法格式“变量1.compareto(变量2)”;compareto()方法从值的第一位开始比较,如果遇到不同的字符,则返回这两个字符的ascii值差值。
本教程操作环境: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+""));//-1system.out.println(new integer(num1).tostring(). compareto(new integer(num2).tostring()));//-1system.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方法有什么用的详细内容。
