检查字符串数组是否包含kotlin值的惯用方法是什么?就像ruby的#include?
。
我虽然关于:
array.filter { it == "value" }.any()
有更好的方法吗?
答案 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
}