English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Kotlin

Контроль потоков Kotlin

Функции в Kotlin

Строки в Kotlin

Ориентированный на объекты (OOP) Kotlin

Сравнение строк в Kotlin

Сравнение строк в Kotlin, вот несколько возможных методов:

1. Использование оператора ==
2. Использование расширения функции compareTo()

Сравнение строк с помощью оператора ==

Мы будем использовать оператор == для сравнения двух строк Kotlin. В соответствии с документацией Kotlin о равенстве, оператор == используется для структурированного равенства.

В языке Kotlin: a == b неявно преобразуется в a?.equals(b) ?: (b === null)

Убедитесь, что два значения a и b являются строками. Если они не строки, их необходимо преобразовать в строки перед сравнением.

/**
* Пример Kotlin, сравнение двух строк на равенство*/
 
fun main(args: Array<String>) {
    var a: String = "kotlin is easy"
    var b: String = "kotlin is" + "  easy"
    if(a==b){
        println("Строки '$a' и '$b' равны.")
    } else {
        println("Строки '$a' и '$b' не равны.")
    }
 
    b = "Kotlin runs on JVM"
    if(a==b){
        println("Строки '$a' и '$b' равны.")
    } else {
        println("Строки '$a' и '$b' не равны.")
    }
}

Результат вывода:

Строки 'kotlin is easy' и 'kotlin is easy' равны.
Строки 'kotlin is easy' и 'Kotlin runs on JVM' не равны.

Использование расширения функции compareTo() для сравнения строк

Kotlin предоставляет расширение функции compareTo() для String.
Синтаксис функции compareTo() таков:

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

Другое: String является обязательным параметром. ignoreCase является опциональным.

Эта функция возвращает целочисленное значение.

Возвратное значениеОписание
0

these строки равны.

отрицательное целое число

если эта строка меньше другой строки

положительное целое число

если эта строка больше другой строки

/**
* Пример Kotlin, сравнение двух строк
*/
fun main(args: Array<String>) {
    var a: String = "apple"
    var b: String = "apple"
    var result = a.compareTo(b)
    }
        if(result == 0) {
    }
        println("'$a' меньше '$b' по числу символов.")
    }
        println("'$a' меньше '$b' по числу символов.")
    }
 
    b = "banana"
    result = a.compareTo(b)
    }
        if(result == 0) {
    }
        println("'$a' меньше '$b' по числу символов.")
    }
        println("'$a' меньше '$b' по числу символов.")
    }
 
    // compareTo忽略регистр, ignoreCase параметр = true
    a = "appLE"
    b = "aPple"
    println("\nignорение регистра...")
    result = a.compareTo(b, true) // ignoreCase = true
    }
        if(result == 0) {
    }
        println("'$a' меньше '$b' по числу символов.")
    }
        println("'$a' меньше '$b' по числу символов.")
    }
}

Результат вывода:

Строки 'apple' и 'apple' равны
'apple' меньше 'banana' по числу символов.
 
Игнорировать регистр...
Строки 'appLE' и 'aPple' равны

 
В этой главе, с помощью примеров программ, изучите использование оператора == и функции CompareTo() для сравнения двух строк.