English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Es gibt verschiedene Methoden, um Strings in Kotlin zu vergleichen:
1、Verwenden Sie den Operator `==`
2、Verwenden Sie die Erweiterungsfunktion compareTo()
Wir verwenden den Operator ===, um zwei Kotlin-Strings zu vergleichen. Gemäß der Dokumentation von Kotlin Equality wird der Operator === für die strukturelle Gleichheit verwendet.
Im Kotlin-Sprachgebrauch wird a==b implizit in a?.equals(b) ?: (b === null) umgewandelt.
Stellen Sie sicher, dass die Werte a und b beide vom Typ String sind. Wenn sie nicht vom Typ String sind, müssen sie vor dem Vergleich in Zeichenfolgen umgewandelt werden.
/** * Kotlin-Beispiel, Vergleichen von zwei Zeichenfolgen auf Gleichheit*/ fun main(args: Array<String>) { var a: String = "kotlin is easy" var b: String = "kotlin is" + "easy" if(a==b){ println("Die Zeichenfolgen '$a' und '$b' sind gleich.") } else { println("Die Zeichenfolgen '$a' und '$b' sind ungleich.") } b = "Kotlin runs on JVM" if(a==b){ println("Die Zeichenfolgen '$a' und '$b' sind gleich.") } else { println("Die Zeichenfolgen '$a' und '$b' sind ungleich.") } }
Ausgaberesultat:
Die Zeichenfolgen 'kotlin is easy' und 'kotlin is easy' sind gleich. Die Zeichenfolgen 'kotlin is easy' und 'Kotlin runs on JVM' sind ungleich.
Kotlin bietet die compareTo() -Erweiterungsfunktion für String an.
Die Syntax der compareTo() -Funktion ist wie folgt:
fun String.compareTo( other: String, ignoreCase: Boolean = false ): Int
Andere: String ist obligatorischer Parameter. ignoreCase ist optional.
Diese Funktion gibt einen整数值 zurück.
Rückgabewert | Beschreibung |
---|---|
0 | Diese zwei Zeichenfolgen sind gleich. |
Negative Zahl | Wenn diese Zeichenfolge kleiner ist als die andere Zeichenfolge |
Ganze Zahl | Wenn diese Zeichenfolge größer ist als die andere Zeichenfolge |
/** * Kotlin-Beispiel, Vergleichen von zwei Zeichenfolgen */ fun main(args: Array<String>) { var a: String = "apple" var b: String = "apple" var result = a.compareTo(b) if(result==0){ println("Die Zeichenkette '$a' und '$b' sind gleich.") } println("'$a' ist in der Anzahl der Zeichen kleiner als '$b'.") } println("'$a' ist in der Anzahl der Zeichen kleiner als '$b'.") } b = "banana" result = a.compareTo(b) if(result==0){ println("Die Zeichenkette '$a' und '$b' sind gleich.") } println("'$a' ist in der Anzahl der Zeichen kleiner als '$b'.") } println("'$a' ist in der Anzahl der Zeichen kleiner als '$b'.") } // compareTo ignoriert die Groß- und Kleinschreibung, der Parameter ignoreCase ist true a = "appLE" b = "aPple" println("\nIgnorieren Sie die Groß- und Kleinschreibung...") result = a.compareTo(b, true) // ignoreCase = true if(result==0){ println("Die Zeichenkette '$a' und '$b' sind gleich.") } println("'$a' ist in der Anzahl der Zeichen kleiner als '$b'.") } println("'$a' ist in der Anzahl der Zeichen kleiner als '$b'.") } }
Ausgaberesultat:
Die Zeichenkette 'apple' und 'apple' sind gleich Die Zeichenkette 'apple' ist in der Anzahl der Zeichen kleiner als 'banana'. Ignorieren Sie die Groß- und Kleinschreibung... Die Zeichenketten 'appLE' und 'aPple' sind gleich
In diesem Kapitel lernen Sie unter Verwendung von Beispielprogrammen, wie Sie mit dem ==-Operator und der CompareTo()-Funktion zwei Zeichenketten vergleichen.