Normalerweise müssen Sie keine Alternativen finden, da Kotlin vorhandene Java-Typen wie wiederverwendet String. Tatsächlich werden diese Typen internen Kotlin-Typen zugeordnet. Im Falle Stringsieht es so aus:
java.lang.String -> kotlin.String
Daher equalsIgnoreCasewäre die gewünschte Methode nur verfügbar, wenn sie auch in bereitgestellt würde kotlin.String, was nicht der Fall ist. Die Kotlin-Designer haben beschlossen, eine allgemeinere equalsFunktion bereitzustellen , mit der Sie die Groß- und Kleinschreibung mit einem booleschen Parameter festlegen können.
Sie können die Java- StringKlasse jederzeit verwenden, wenn dies wirklich erforderlich ist (es wird nicht empfohlen, IntelliJ wird sich darüber beschweren):
Kotlin hat die EqualIgnoreCase-Funktion implementiert, jedoch mit einer kleinen Änderung auf seine eigene Weise, dh "str1" .equal ("Str1", true) für Groß- / Kleinschreibung und "str1" .equal ("Str1", false) für Übereinstimmungsfall. Das zweite Argument ist optional. Sie können es überspringen. Standardmäßig ist es falsch und gilt für den Fall eines Spiels
Abdur Rahman
1
Gemäß der Kotlin-Dokumentation:
fun String?.equals(
other: String?,
ignoreCase: Boolean = false
): Boolean
Antworten:
Sie können folgende Parameter verwenden,
equals
aber angebenignoreCase
:"example".equals("EXAMPLE", ignoreCase = true)
quelle
Normalerweise müssen Sie keine Alternativen finden, da Kotlin vorhandene Java-Typen wie wiederverwendet
String
. Tatsächlich werden diese Typen internen Kotlin-Typen zugeordnet. Im FalleString
sieht es so aus:java.lang.String
->kotlin.String
Daher
equalsIgnoreCase
wäre die gewünschte Methode nur verfügbar, wenn sie auch in bereitgestellt würdekotlin.String
, was nicht der Fall ist. Die Kotlin-Designer haben beschlossen, eine allgemeinereequals
Funktion bereitzustellen , mit der Sie die Groß- und Kleinschreibung mit einem booleschen Parameter festlegen können.Sie können die Java-
String
Klasse jederzeit verwenden, wenn dies wirklich erforderlich ist (es wird nicht empfohlen, IntelliJ wird sich darüber beschweren):("hello" as java.lang.String).equalsIgnoreCase("Hello")
Mit Hilfe einer Erweiterungsfunktion können wir der
kotlin.String
Klasse sogar folgende Funktionen hinzufügen :fun String.equalsIgnoreCase(other: String) = (this as java.lang.String).equalsIgnoreCase(other)
quelle
Gemäß der Kotlin-Dokumentation:
fun String?.equals( other: String?, ignoreCase: Boolean = false ): Boolean
Zum Beispiel:
quelle
@ hluhovskyis Antwort ist korrekt, jedoch um sie zu verwenden
EditText
oderTextView
verwenden Sie Folgendes:etPassword.text.toString().equals(etConfirmPassword.text.toString(), ignoreCase = true)
quelle
Sie können gleich verwenden, aber den Parameter ignoreCase angeben:
"your string".equals("YOUR STRING", ignoreCase = true)
quelle