English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Сравнение строк в 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' не равны.
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() для сравнения двух строк.