Сравнение строк в котлине. Равенство струны в котлине. В этом уроке мы обсудим, как сравнивать строки в kotlin?

1. Использование оператора «==»: -

Как мы знаем, каждый язык программирования равен оператору (==) для сравнения двух вещей. Kotlin также позволяет использовать equal в качестве оператора сравнения. Начнем с оператора «==». Этот оператор можно использовать для проверки структурного равенства строк. Это эквивалент использования метода equals в Java. Согласно документации Equality в Kotlin, оператор == используется для структурного равенства.

str1 == str2 неявно транслируется в str1? .equals (str2)?: (str2 === null) языком Котлин.

# main method to compare two string using == operator.
fun main(args: Array<String>) {
    var a: String = "kotlin is very easy"
    var b: String = "kotlin is very" + " easy"
    if(a==b){
        println("Strings '$a' and '$b' are equal.")
    } else {
        println("Strings '$a' and '$b' are not equal.")
    }
    # change the content
    b = "Kotlin runs on JVM:)"
    if(a==b){
        println("Strings '$a' and '$b' are equal.")
    } else {
        println("Strings '$a' and '$b' are not equal.")
    }
}

В приведенном выше примере, если вы видите, что мы определили строку с использованием строковых литералов «kotlin очень просто», оба значения переменных одинаковы, и они указывают на один и тот же объект, поэтому оба они равны.

Это эквивалент использования == в Java.

Когда мы инициализируем строковые значения с помощью строковых литералов, они указывают на один и тот же объект. Однако, если мы построим строку отдельно, переменная укажет на отдельный объект. Возьмем еще один пример.

fun main(args: Array<String>) {
    val a: String = "kotlin"
    val b: String = "kotlin"
    val c = buildString { "kotlin" }
    if(a==b){
        println("Strings '$a' and '$b' are equal.")
    } else {
        println("Strings '$a' and '$b' are not equal.")
    }
   
    if(a==c){
        println("Strings '$a' and '$c' are equal.")
    } else {
        println("Strings '$a' and '$c' are not equal.")
    }
}

2. Использование equals (): -

В этом разделе мы рассмотрим метод equals () для сравнения двух строк в kotlin. Этот метод сравнивает строку с учетом регистра. «Котлин» и «Котлин» разные.

val a = "JVM"
val b = "jvm"

a.equals(b) # this will be return false.

Метод equals возвращает тот же результат, что и оператор «==».

Если вы хотите, чтобы сравнение было нечувствительным к регистру. Затем просто передайте true в качестве второго аргумента.

При сравнении строк в kotlin без учета регистра, мы можем использовать метод equals и передать true в качестве второго аргумента.

a.equals(b, true) # this will be return true.

3. Использование compareTo: -

Kotlin предоставляет функцию расширения compareTo () для String, чтобы сравнивать равенство строк. Как и метод equals, метод c ompareTo, который можно использовать для сравнения порядка двух строк.

Синтаксис: -

fun String.compareTo(     
 other: String,      
 ignoreCase: Boolean = false 
 ): Int

Метод compareTo также имеет необязательный аргумент ignoreCase, как и метод равенства. Но compareTo возвращает значение int, а не логическое.

a.compareTo(b, true) # case-insensitive
b.compareTo(b)  #case sensitive.

4. Вывод:-

В этом руководстве мы обсудили сравнение строк в kotlin с использованием оператора равенства «==», метода equals () и compareTo (). Сравнивать струны в котлине легко и просто.

Еще такие истории

Давайте подключимся к Stackoverflow, LinkedIn, Facebook и Twitter.