Was entspricht Java equalsIgnoreCasein Kotlin, um StringWerte zu vergleichen ?
Ich habe verwendet, equalsaber es ist nicht unabhängig von Groß- und Kleinschreibung.
Antworten:
Sie können folgende Parameter verwenden, equalsaber angeben ignoreCase:
"example".equals("EXAMPLE", ignoreCase = true)
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):
("hello" as java.lang.String).equalsIgnoreCase("Hello")
Mit Hilfe einer Erweiterungsfunktion können wir der kotlin.StringKlasse sogar folgende Funktionen hinzufügen :
fun String.equalsIgnoreCase(other: String) =
(this as java.lang.String).equalsIgnoreCase(other)
Gemäß der Kotlin-Dokumentation:
fun String?.equals(
other: String?,
ignoreCase: Boolean = false
): Boolean
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/equals.html
Zum Beispiel:
val name: String = "Hitesh"
when{
name.equals("HITESH", true) -> {
// DO SOMETHING
}
}
@ hluhovskyis Antwort ist korrekt, jedoch um sie zu verwenden EditTextoder TextViewverwenden Sie Folgendes:
etPassword.text.toString().equals(etConfirmPassword.text.toString(), ignoreCase = true)
Sie können gleich verwenden, aber den Parameter ignoreCase angeben:
"your string".equals("YOUR STRING", ignoreCase = true)