In this tutorial, you shall learn how to compare given two strings in Kotlin, using String.compareTo() function, with examples.

Kotlin – Compare Strings

To compare strings in Kotlin, use String.compareTo() method.

Given two strings str1 and str2, and if we would like to compare string str1 to string str2, call compareTo() method on string str1 and pass the string str2 as argument to the method as shown below.

</>
Copy
str1.compareTo(str2)

compareTo() method returns

  • zero, if str1 equals str2
  • negative number if str1 is less than str2 lexicographically
  • positive number if str1 is greater than str2 lexicographically

Examples

1. Two strings are equal

In this example, we will take two strings in str1 and str2, such that both have same string values. We shall compare them using compareTo() method and observe the result.

Kotlin Program

</>
Copy
fun main(args: Array<String>) {
    val str1 = "abcd"
    val str2 = "abcd"

    val result = str1.compareTo(str2)

    println("Value returned by compareTo() : " + result)
    if (result == 0) {
        println("The two strings are equal.")
    }
}

Output

Value returned by compareTo() : 0
The two strings are equal.

2. First string is less than the second string

In this example, we will take two strings in str1 and str2, such that str1 occurs before str2 in lexicographical order. We shall compare them using compareTo() method and observe the result. compareTo() should return a negative value.

Kotlin Program

</>
Copy
fun main(args: Array<String>) {
    val str1 = "abc"
    val str2 = "bcd"

    val result = str1.compareTo(str2)

    println("Value returned by compareTo() : " + result)
    if (result < 0) {
        println("This string str1 is less than the other string str2.")
    }
}

Output

Value returned by compareTo() : -1
This string str1 is less than the other string str2.

3. First string is greater than the second string

In this example, we will take two strings in str1 and str2, such that str1 occurs after str2 in lexicographical order. We shall compare them using compareTo() method and observe the result. compareTo() should return a positive value.

Kotlin Program

</>
Copy
fun main(args: Array<String>) {
    val str1 = "bcd"
    val str2 = "abc"

    val result = str1.compareTo(str2)

    println("Value returned by compareTo() : " + result)
    if (result > 0) {
        println("This string str1 is greater than the other string str2.")
    }
}

Output

Value returned by compareTo() : 1
This string str1 is greater than the other string str2.

Conclusion

In this Kotlin Tutorial, we learned how to compare two strings using String.compareTo() method, with the help of Kotlin example programs.