Kotlin - 检查数组的惯用方法包含值

时间:2017-02-14 19:39:44

标签: arrays kotlin

检查字符串数组是否包含kotlin值的惯用方法是什么?就像ruby的#include?

我虽然关于:

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

有更好的方法吗?

7 个答案:

答案 0 :(得分:26)

您还可以检查数组是否包含具有某些特定字段的对象,以使用any()

进行比较。
listOfObjects.any{ object -> object.fieldxyz == value_to_compare_here }

答案 1 :(得分:22)

您要找的等价物是contains运算符。

array.contains("value") 

Kotlin为此运营商提供了另一种infix notation

"value" in array

这是在场景后面调用的相同函数,但由于在Java中找不到infix notation,我们可以说in是最惯用的方式。

答案 2 :(得分:16)

您可以使用in operator,在这种情况下,调用contains

"value" in array

答案 3 :(得分:13)

在运算符中使用是一种惯用的方式。

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

答案 4 :(得分:1)

这是代码,您可以在其中找到带有对象的ArrayList中的特定字段。 Amar Jain的回答帮助了我:

listOfObjects.any{ it.field == "value"}

答案 5 :(得分:1)

您可以使用它。.contains(“”)

[Animal(name=Lion), Animal(name=Elephant)]

输出将为

{"id": 2,"name": "Chethan","address":"Banglore"}

答案 6 :(得分:0)

您可以使用find方法,该方法返回与给定[predicate]匹配的第一个元素,如果没有找到此类元素,则返回null。 尝试使用此代码在对象value中找到array

 val findedElement = array?.find {
            it.id == value.id
 }
 if (findedElement != null) {
 //your code here           
 }