Kotlin-Äquivalent von Javas equalsIgnoreCase

Lesezeit: 1 Minute

Was ist das Äquivalent von Java equalsIgnoreCase in Kotlin zu vergleichen String Werte?

Ich habe benutzt equals aber Groß- und Kleinschreibung wird nicht beachtet.

Sie können verwenden equals aber spezifizieren ignoreCase Parameter:

"example".equals("EXAMPLE", ignoreCase = true)

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
    }
}

Benutzer-Avatar
Rohan Kandwal

Die Antwort von @hluhovskyi ist richtig, aber um sie zu verwenden EditText oder TextViewverwenden Sie Folgendes –

etPassword.text.toString().equals(etConfirmPassword.text.toString(), ignoreCase = true)

Benutzer-Avatar
s1m0nw1

Normalerweise müssen Sie keine Alternativen finden, da Kotlin vorhandene Java-Typen wiederverwendet, wie z String. Tatsächlich werden diese Typen internen Kotlin-Typen zugeordnet. Im Falle des String es sieht aus wie das:

java.lang.String -> kotlin.String

Daher die gewünschte Methode equalsIgnoreCase wäre nur verfügbar, wenn es auch bereitgestellt wurde kotlin.String, was nicht ist. Die Kotlin-Designer entschieden sich für eine generischere equals Funktion, mit der Sie die Groß-/Kleinschreibung mit einem booleschen Parameter angeben können.

Sie können Java verwenden String Klasse jederzeit, wenn dies wirklich notwendig ist (es wird nicht empfohlen, IntelliJ wird sich darüber beschweren):

("hello" as java.lang.String).equalsIgnoreCase("Hello")

Mit Hilfe einer Erweiterungsfunktion konnten wir die Funktionalität sogar noch erweitern kotlin.String Klasse:

fun String.equalsIgnoreCase(other: String) = 
    (this as java.lang.String).equalsIgnoreCase(other)

In meinem Fall,

string1.contains(string2, ignoreCase = true)

Das hat bei mir funktioniert. Weil ich hier wie eine Suchfunktion benutze.

1334780cookie-checkKotlin-Äquivalent von Javas equalsIgnoreCase

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy