Quel est l'équivalent de Java equalsIgnoreCase
dans Kotlin pour comparer les valeurs String
?
J'ai utilisé equals
mais ce n'est pas insensible à la casse.
Quel est l'équivalent de Java equalsIgnoreCase
dans Kotlin pour comparer les valeurs String
?
J'ai utilisé equals
mais ce n'est pas insensible à la casse.
Selon la documentation de Kotlin:
fun String?.equals(
other: String?,
ignoreCase: Boolean = false
): Boolean
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/equals.html
Par exemple:
val name: String = "Hitesh" when{ name.equals("HITESH", true) -> { // DO SOMETHING } }
Normalement, vous n'avez pas besoin de trouver des alternatives depuis Kotlin réutilise les Java de type String
. En fait, ces types sont mappés à Kotlin interne types. Dans le cas d' String
il ressemble à ceci:
java.lang.String
-> kotlin.String
Par conséquent, la méthode désirée equalsIgnoreCase
ne serait disponible que si c'était aussi fourni en kotlin.String
, ce qui ne l'est pas. Le Kotlin créateurs ont décidé d'offrir un cadre plus générique equals
fonction qui vous permet de spécifier le compte de la casse avec un paramètre booléen.
Vous pouvez utiliser le Java String
classe, à tout moment, si c'est vraiment nécessaire (il n'est pas recommandé, IntelliJ va se plaindre à ce sujet):
("hello" as java.lang.String).equalsIgnoreCase("Hello")
Avec l'aide d'une fonction d'extension, nous pourrions même ajouter de la fonctionnalité à l' kotlin.String
classe:
fun String.equalsIgnoreCase(other: String) =
(this as java.lang.String).equalsIgnoreCase(other)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.