Сравнение строк в котлине. Равенство струны в котлине. В этом уроке мы обсудим, как сравнивать строки в 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 (). Сравнивать струны в котлине легко и просто.