The Java String compareTo() method compares two strings lexicographically (alphabetical order). It returns a positive number, negative number, or zero.
s1.compareTo(s2)
- if
s1 < s2, it returns negative number. - if
s1 > s2, it returns positive number. - if
s1 == s2, it returns 0.
1. “a”.compareTo(“c”), negative integer
The “a” is lexicographically precedes the argument string “c”; it returns a negative integer.
In simple words, for lexicographical or alphabetical order, “a” comes before the “c” and returns a negative integer.
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”), positive integer
The “c” lexicographically follows the argument string “a”; it returns positive integer 2.
In simple words, for lexicographical or alphabetical order, “c” comes after the “a” and returns a positive integer.
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”), zero
If the strings are equal, it returns zero or 0.
System.out.println("a".compareTo("a")); // 0
System.out.println("1".compareTo("1")); // 0
4. “a”.compareTo(“ab”), different lengths
For different lengths comparison strings, it works the same.
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()
The Java String compareToIgnoreCase() method compares two strings lexicographically, ignoring cases.
System.out.println("a".compareTo("A")); // 32
System.out.println("a".compareToIgnoreCase("A")); // 0
6. Java String compareTo() examples
Below is a complete Java String compareTo() examples.
StringCompareTo.java
package com.favtuts.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
}
}
Output
-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
Download Source Code
$ git clone https://github.com/favtuts/java-core-tutorials-examples
$ cd java-string