C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Result: We find that the compareTo method returns -1 when the earlier string is the instance, and the later string is the argument.
Java program that uses compareTo on Strings
public class Program {
public static void main(String[] args) {
String value1 = "cat";
String value2 = "bird";
// Compare these strings.
int result1 = value1.compareTo(value2);
System.out.println("cat compareTo bird = " + result1);
int result2 = value2.compareTo(value1);
System.out.println("bird compareTo cat = " + result2);
// Compare string against itself.
// ... It is equal so the result is 0.
int result3 = value1.compareTo(value1);
System.out.println("cat compareTo cat = " + result3);
}
}
Output
cat compareTo bird = 1
bird compareTo cat = -1
cat compareTo cat = 0
So: A lowercase letter will be sorted after an uppercase letter. Often this does not make sense for real programs.
Here: We use the compareToIgnoreCase method to treat lowercase and uppercase letters the same.
Java program that uses compareToIgnoreCase
public class Program {
public static void main(String[] args) {
String value1 = "DOG";
String value2 = "bird";
// This is negative, so DOG comes before bird.
int result1 = value1.compareTo(value2);
System.out.println(result1);
// Ignore case.
// ... Now bird comes before dog (the result is positive).
int result2 = value1.compareToIgnoreCase(value2);
System.out.println(result2);
}
}
Output
-30
2
Negative: If compareTo returns a negative number, the instance string comes before the argument.
Positive: When a positive number is returned, the instance string comes after the argument string.
Zero: A zero is returned when the two strings have an equal sorting order. They are equal in content.