Java String compareTo() examples
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.
Table of contents
- 1. "a".compareTo("c"), negative integer
- 2. "c".compareTo("a"), positive integer
- 3. "a".compareTo("a"), zero
- 4. "a".compareTo("ab"), different lengths
- 5. compareToIgnoreCase()
- 6. Java String compareTo() examples
- 7. Download Source Code
- 8. References
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.
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
}
}
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
7. Download Source Code
$ git clone https://github.com/mkyong/core-java
$ cd java-string
Your blog about comparing two strings is very helpful to me. Thanks for sharing such valuable information.
Thanks for sharing me Java String compare To() examples. your blog is The Java String compare To() method compares two strings lexicographically (alphabetical order). It returns a positive number, negative number, or zero.