此例子来自:https://zhidao.baidu.com/question/83236318.html
比如ilove 和baray
先比较第一个字符
i 和 b
b<i b是第2个 ,i是第9个 2 < 9
于是 baray < ilove
如果第一位相同,就比较第二位,
例如:
abcdd<abcde
aaaay<aaaaz
如果其中之一是另一个的前缀,则短的那个排前面:
aaa < aaab
String的compare方法就是字典排序,其中以正整数,0,负整数代表大于,等于,小于的关系
public int compare(String s1, String s2) {
int n1 = s1.length();
int n2 = s2.length();
int min = Math.min(n1, n2);
for (int i = 0; i < min; i++) {
char c1 = s1.charAt(i);
char c2 = s2.charAt(i);
if (c1 != c2) {
c1 = Character.toUpperCase(c1);
c2 = Character.toUpperCase(c2);
if (c1 != c2) {
c1 = Character.toLowerCase(c1);
c2 = Character.toLowerCase(c2);
if (c1 != c2) {
// No overflow because of numeric promotion
return c1 - c2;
}
}
}
}
return n1 - n2;
}