[英]Kotlin - Idiomatic way to check array contains value
檢查字符串數組是否包含 Kotlin 中的值的慣用方法是什么? 就像ruby的#include?
.
我想:
array.filter { it == "value" }.any()
有沒有更好的辦法?
您還可以檢查數組是否包含具有某些特定字段的對象以與使用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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.