Java字符串compareTo()的例子

149 阅读2分钟

Java StringcompareTo() 方法按词典(字母顺序)对两个字符串进行比较。它返回一个正数、负数或零。

  s1.compareTo(s2)
  • 如果s1 < s2 ,它返回负数。
  • 如果s1 > s2, 它返回正数。
  • 如果s1 == s2 ,则返回 0。

内容表

1. "a".compareTo("c"), 负整数


"a "在词典上排在参数字符串 "c "之前;它返回一个负整数。

简单地说,对于词法或字母顺序,"a "在 "c "之前,并返回一个负整数:


  System.out.println("a".compareTo("b")); // -1
  System.out.println("a".compareTo("c")); // -2
  System.out.println("a".compareTo("d")); // -3
  System.out.println("a".compareTo("e")); // -4

  System.out.println("1".compareTo("2")); // -1
  System.out.println("1".compareTo("3")); // -2
  System.out.println("1".compareTo("4")); // -3
  System.out.println("1".compareTo("5")); // -4

2. "c".compareTo("a"), 正整数


"c "按词典顺序排在参数字符串 "a "之后;它返回正整数2。

简单地说,对于词法或字母顺序,"c "在 "a "之后,返回正整数:


  System.out.println("b".compareTo("a")); // 1
  System.out.println("c".compareTo("a")); // 2
  System.out.println("d".compareTo("a")); // 3
  System.out.println("e".compareTo("a")); // 4

  System.out.println("2".compareTo("1")); // 1
  System.out.println("3".compareTo("1")); // 2
  System.out.println("4".compareTo("1")); // 3
  System.out.println("5".compareTo("1")); // 4

3. "a".compareTo("a"),0


如果两个字符串相等,则返回0或0:


  System.out.println("a".compareTo("a")); // 0

  System.out.println("1".compareTo("1")); // 0

4. "a".compareTo("ab"), 不同长度


对于不同长度的比较字符串,它的作用是一样的:


  System.out.println("a".compareTo("ab"));    // -1
  System.out.println("a".compareTo("abc"));   // -2
  System.out.println("a".compareTo("abcd"));  // -3

  System.out.println("11".compareTo("112"));    // -1
  System.out.println("11".compareTo("1123"));   // -2
  System.out.println("11".compareTo("11234"));  // -3

5.compareToIgnoreCase()


Java字符串compareToIgnoreCase() 方法对两个字符串进行按字母顺序的比较,忽略大小写:


  System.out.println("a".compareTo("A"));           // 32
  System.out.println("a".compareToIgnoreCase("A")); // 0

6.Java String compareTo() 示例


下面是一个完整的Java字符串compareTo() 例子。

StringCompareTo.java


package com.mkyong.string.compare;

public class StringCompareTo {

    public static void main(String[] args) {

        System.out.println("-Negative Number-");
        System.out.println("a".compareTo("b")); // -1
        System.out.println("a".compareTo("c")); // -2
        System.out.println("a".compareTo("d")); // -3
        System.out.println("a".compareTo("e")); // -4

        System.out.println("1".compareTo("2")); // -1
        System.out.println("1".compareTo("3")); // -2
        System.out.println("1".compareTo("4")); // -3
        System.out.println("1".compareTo("5")); // -4

        System.out.println("-Positive Number-");
        System.out.println("b".compareTo("a")); // 1
        System.out.println("c".compareTo("a")); // 2
        System.out.println("d".compareTo("a")); // 3
        System.out.println("e".compareTo("a")); // 4

        System.out.println("2".compareTo("1")); // 1
        System.out.println("3".compareTo("1")); // 2
        System.out.println("4".compareTo("1")); // 3
        System.out.println("5".compareTo("1")); // 4

        System.out.println("-Zero-");
        System.out.println("a".compareTo("a")); // 0
        System.out.println("1".compareTo("1")); // 0

        System.out.println("-Vary Length-");
        System.out.println("a".compareTo("ab"));    // -1
        System.out.println("a".compareTo("abc"));   // -2
        System.out.println("a".compareTo("abcd"));  // -3

        System.out.println("11".compareTo("112"));    // -1
        System.out.println("11".compareTo("1123"));   // -2
        System.out.println("11".compareTo("11234"));  // -3

        System.out.println("-compareToIgnoreCase-");
        System.out.println("a".compareTo("A")); // 32
        System.out.println("a".compareToIgnoreCase("A")); // 0

    }

}

输出

终端


-Negative Number-
-1
-2
-3
-4
-1
-2
-3
-4
-Positive Number-
1
2
3
4
1
2
3
4
-Zero-
0
0
-Vary Length-
-1
-2
-3
-1
-2
-3
-compareToIgnoreCase-
32
0

7.下载源代码

$ git clonegithub.com/mkyong/core…

$ cd java-string

8.参考资料