Qu'est-ce qu'un moyen idiomatique de vérifier si un tableau de chaînes contient une valeur en kotlin? Comme Ruby's #include?
.
Je pensais à propos de:
array.filter { it == "value" }.any()
Y a-t-il un meilleur moyen?
L'équivalent que vous recherchez est l'opérateur contient .
array.contains("value")
Kotlin propose une alternative notation infixe pour cet opérateur:
"value" in array
C'est la même fonction appelée derrière la scène, mais puisque notation infixe n'est pas trouvé dans Java on pourrait dire que in
est la manière la plus idiomatique .
Vous pouvez également vérifier si le tableau contient un objet avec un champ spécifique à comparer avec l'utilisation de any()
listOfObjects.any{ object -> object.fieldxyz == value_to_compare_here }
Utiliser l'opérateur in est une façon idiomatique de le faire.
val contains = "a" in arrayOf("a", "b", "c")
Voici le code où vous pouvez trouver un champ spécifique dans ArrayList avec des objets. La réponse d'Amar Jain m'a aidé:
listOfObjects.any{ it.field == "value"}