Java中的String实现了Comparable<String>,String里面有个私有的成员变量
/** The value is used for character storage. */
private final char value[];
public int compareTo(String anotherString) {
int len1 = value.length;
int len2 = anotherString.value.length;
//比较两个字符串的长度大小
int lim = Math.min(len1, len2);
char v1[] = value;
char v2[] = anotherString.value;
int k = 0;
//确定循环条件 以长度小的那个串作为标准遍历
while (k < lim) {
//依次取两个的字符进行比较,相等则进入下一次循环,不相等则比较大小并返回
char c1 = v1[k];
char c2 = v2[k];
if (c1 != c2) {
return c1 - c2;
}
k++;
}
//长度较小的字符串遍历完了,则比较两个字符串的长度。两个字符串长度相等则返回0,要比较的目标串长则返回负数,原串长则返回正数。
return len1 - len2;
}