原文: https://beginnersbook.com/2013/12/java-string-comparetoignorecase-method-example/

Java String compareToIgnoreCase()方法按字典顺序比较两个字符串,如果它们相等则返回 0。正如我们所知compareTo()方法做同样的事情,但这两种方法之间存在差异。与compareTo()方法不同,compareToIgnoreCase()方法在比较字符串时忽略大小写(大写或小写)。

Java String compareToIgnoreCase()方法

方法签名:

  1. int compareToIgnoreCase(String str)

例如:

  1. String s1 = "BEGINNERSBOOK"; //uppercase
  2. String s2 = "beginnersBOOK"; //mixedcase
  3. s1.compareTo(s2); //this would return non-zero value
  4. s1.compareToIgnoreCase(s2); //this would return zero

compareTo()方法类似,compareToIgnoreCase()方法根据每个字符的 Unicode 值比较字符串。当字符串相等时返回 0,否则返回正值或负值。

Java String compareToIgnoreCase()示例

在下面的示例中,我们有三个字符串,所有三个字符串都相同,但它们的字母大小写不同。string1是大写字母,string2是小写字母,string3是大写和小写字母的混合。我们使用compareToIgnoreCase()方法来比较这些字符串。

  1. public class CompareExample {
  2. public static void main(String args[]) {
  3. String string1 = "HELLO";
  4. String string2 = "hello";
  5. String string3 = "HellO";
  6. int var1 = string1.compareToIgnoreCase(string2);
  7. System.out.println("string1 and string2 comparison: "+var1);
  8. int var2 = string1.compareToIgnoreCase(string3);
  9. System.out.println("string1 and string3 comparison: "+var2);
  10. int var3 = string1.compareToIgnoreCase("HeLLo");
  11. System.out.println("string1 and HeLLo comparison: "+var3);
  12. }
  13. }

输出:

  1. string1 and string2 comparison: 0
  2. string1 and string3 comparison: 0
  3. string1 and HeLLo comparison: 0

Java String compareToIgnoreCase() vs compareTo()示例

让我们举一个例子来理解这两种方法之间的区别。这里我们比较两个字符串,它们是相同的,但它们的字母大小写不同。其中一个字符串为大写,第二个字符串为小写。

  1. public class JavaExample {
  2. public static void main(String args[]) {
  3. //uppercase
  4. String str1 = "HELLO";
  5. //lowercase
  6. String str2 = "hello";
  7. System.out.println(str1.compareTo(str2));
  8. System.out.println(str1.compareToIgnoreCase(str2));
  9. }
  10. }

输出:

Java `String compareToIgnoreCase()`方法 - 图1