Java 中字符串类的 CompareTo 的作用
In openjdk/jdk:/srv/java.base/share/classes/java/lang/String.java:Line 2118
In openjdk/jdk:/srv/java.base/share/classes/java/lang/StringLatin1.java:Line 247 compareToUTF16
In openjdk/jdk:/srv/java.base/share/classes/java/lang/StringLatin1.java:Line 254 compareToUTF16Values
1 2 3 4 5 6 7 8 9 10 11 | |
大概逻辑是:先取两个字符串最小长度,然后先比较这个最小长度量,一个个字符比较,如果比较不一样,返回第一个的字符减第二个的数值,如果都一样,返回第一个的长度减去第二个长度。
相同长度的一个一个比较,返回差异。不同长度的,前面的不同,按照单个字符的差异度返回,如果相同,则返回长度差。