您正在寻找的等价物是 contains 运算符。
array.contains("value")
Kotlin 为该运算符提供了一个替代 infix notation:
"value" in array
这与在后台调用的函数相同,但由于在 Java 中找不到 infix notation,我们可以说 in
是最惯用的方式。
您还可以使用 any()
检查数组是否包含具有某些特定字段的对象以进行比较
listOfObjects.any{ object -> object.fieldxyz == value_to_compare_here }
这是代码,您可以在其中找到带有对象的 ArrayList 中的特定字段。 Amar Jain 的回答帮助了我:
listOfObjects.any{ it.field == "value"}
使用 in 运算符是一种惯用的方法。
val contains = "a" in arrayOf("a", "b", "c")
你可以使用它..contains(" ")
data class Animal (val name:String)
val animals = listOf(Animal("Lion"), Animal("Elephant"), Animal("Tiger"))
println(animals.filter { it.name.contains("n") }.toString())
输出将是
[Animal(name=Lion), Animal(name=Elephant)]
您可以使用 find
方法,它返回匹配给定 [predicate] 的第一个元素,如果没有找到这样的元素,则返回 null
。尝试使用此代码在 array
个对象中查找 value
val findedElement = array?.find {
it.id == value.id
}
if (findedElement != null) {
//your code here
}
array.indexIf(Object o)
-> 找到一个位置将返回第一个元素的索引,array.lastIndexOf(Object o)
->将返回您最后建立的元素的索引。您也可以使用谓词等 array.indexOfLast { it.name == "test " }
或 array.indexOfFirst { it.name == "test "}
不定期副业成功案例分享