方法详解)
Java 中的String.compareTo()方法用于按字典顺序比较两个字符串。这个方法实现了Comparable接口返回一个整数表示字符串的相对顺序。方法签名public int compareTo(String anotherString)返回值一个负整数如果当前字符串在字典顺序上位于参数字符串之前。零如果两个字符串在字典顺序上相等。一个正整数如果当前字符串在字典顺序上位于参数字符串之后。字符比较规则compareTo方法逐字符地比较两个字符串的 Unicode 值直到找到不同的字符或达到字符串的末尾。示例代码public class CompareToExample { public static void main(String[] args) { String str1 apple; String str2 banana; String str3 apple; String str4 apples; // 比较str1和str2 int result1 str1.compareTo(str2); System.out.println(Result of comparing \apple\ with \banana\: result1); // 负数 // 比较str1和str3 int result2 str1.compareTo(str3); System.out.println(Result of comparing \apple\ with \apple\: result2); // 0 // 比较str1和str4 int result3 str1.compareTo(str4); System.out.println(Result of comparing \apple\ with \apples\: result3); // 负数 // 比较str2和str1 int result4 str2.compareTo(str1); System.out.println(Result of comparing \banana\ with \apple\: result4); // 正数 } }解释Comparing apple with banana:a vs b: a 的 Unicode 值小于 b 的 Unicode 值所以结果是一个负整数。Comparing apple with apple:所有字符都相等所以结果是 0。Comparing apple with apples:前五个字符都相等但是 apple 长度为 5 而 apples 长度为 6所以结果是一个负整数。Comparing banana with apple:b vs a: b 的 Unicode 值大于 a 的 Unicode 值所以结果是一个正整数。注意事项区分大小写:compareTo方法是区分大小写的。Apple 和 apple 会被认为是不同的因为它们的 Unicode 值不同。例如String str1 Apple; String str2 apple; int result str1.compareTo(str2); System.out.println(Result of comparing \Apple\ with \apple\: result); // 负数处理 null: 调用compareTo方法时如果传入的参数是null会抛出NullPointerException。所以在比较前需要确保字符串不为null。总结String.compareTo()是一种高效且直接的方式来比较字符串的字典顺序。理解其工作原理对处理字符串排序和比较非常有帮助。