Java中CompareTo()方法:
String 字符串用compareTo方法从第一位开始比较, 如果遇到不同的字符,则马上返回这两个字符的ascii值差值.返回值是int类型
1.当两个比较的字符串长度相等时
1.1 对于两个单字符的字符串比较,返还两个字符的ascii码的差值。
String a1 = "a"; //97
String a2 = "c"; //98
System.out.println(a1.compareTo(a2)); //结果为-2
1.2 对于两个多字符的字符串参与比较,如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的ascii码差值。
String a1 = "aa"; // a = 97
String a2 = "ac"; // c = 98
System.out.println(a1.compareTo(a2)); //结果为-2
2.当两个比较的字符串长度不相等时
2.1 如果两个字符串长度不等,并且可以参与比较的字符又完全一样,则返回两个字符串的长度差值。如若可参与比较的字符不同,则参考 [ 1.2 ]
String a1 = "aa";
String a2 = "aa12345678";
System.out.println(a1.compareTo(a2)); // 结果为-8
3.返回为正数表示a1>a2, 返回为负数表示a1<a2, 返回为0表示a1==a2。
4.int型可以直接比较,所以没有用到compareTo比较,如果声明的是Date、String、Integer、或者其他的,可以直接使用compareTo比较。
Integer n1 = 5;
Integer n2 = 6;
System.out.println(n1.compareTo(n2));//-1
参考: