14 votes

Kotlin - Manière idiomatique de vérifier si un tableau contient une valeur

Quelle est une manière idiomatique de vérifier si un tableau de chaînes contient une valeur en kotlin? Tout comme le #include? de ruby.

J'ai pensé à:

array.filter { it == "valeur" }.any()

Y a-t-il une meilleure façon?

24voto

Amar Jain Points 353

Vous pouvez également vérifier si le tableau contient un objet avec un champ spécifique à comparer en utilisant any()

listOfObjects.any{ object -> object.fieldxyz == value_to_compare_here }

20voto

Geoffrey Marizy Points 2260

Le terme équivalent que vous recherchez est l'opérateur contains.

array.contains("valeur") 

Kotlin propose une notation alternative infixe pour cet opérateur :

"valeur" in array

C'est la même fonction qui est appelée en arrière-plan, mais étant donné que la notation infixe n'existe pas en Java, on peut dire que in est la manière la plus idiomatique.

16voto

mfulton26 Points 1609

Vous pouvez utiliser l'opérateur in qui, dans ce cas, appelle contains:

"valeur" in tableau

12voto

Gerson Points 138

Utiliser l'opérateur in est une façon idiomatique de le faire.

val contains = "a" in arrayOf("a", "b", "c")

Prograide.com

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.

Powered by:

X