Was ist das Äquivalent von Java equalsIgnoreCase
in Kotlin zu vergleichen String
Werte?
Ich habe benutzt equals
aber Groß- und Kleinschreibung wird nicht beachtet.
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 } }
Rohan Kandwal
Die Antwort von @hluhovskyi ist richtig, aber um sie zu verwenden EditText
oder TextView
verwenden Sie Folgendes –
etPassword.text.toString().equals(etConfirmPassword.text.toString(), ignoreCase = true)
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.
kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/…
– Tirth Patel
6. Mai 2018 um 9:13 Uhr