检查字符串数组是否包含kotlin值的惯用方法是什么?就像红宝石一样#include?.
我虽然说:
array.filter { it == "value" }.any()
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
Ama*_*ain 45
您还可以检查数组是否包含具有某些特定字段的对象以与使用进行比较 any()
listOfObjects.any{ object -> object.fieldxyz == value_to_compare_here }
Run Code Online (Sandbox Code Playgroud)
Geo*_*izy 37
您正在寻找的等价物是包含运算符.
array.contains("value")
Run Code Online (Sandbox Code Playgroud)
Kotlin 为此运营商提供了另一种中缀符号:
"value" in array
Run Code Online (Sandbox Code Playgroud)
这是在场景后面调用的相同函数,但由于在Java中找不到中缀符号,我们可以说这in是最惯用的方式.
Dim*_*tar 28
这是您可以在带有对象的 ArrayList 中找到特定字段的代码。Amar Jain 的回答帮助了我:
listOfObjects.any{ it.field == "value"}
Run Code Online (Sandbox Code Playgroud)
Ger*_*son 14
在运算符中使用是一种惯用的方法.
val contains = "a" in arrayOf("a", "b", "c")
Run Code Online (Sandbox Code Playgroud)
你可以使用它..contains(" ")
data class Animal (val name:String)
val animals = listOf(Animal("Lion"), Animal("Elephant"), Animal("Tiger"))
println(animals.filter { it.name.contains("n") }.toString())
Run Code Online (Sandbox Code Playgroud)
输出将是
[Animal(name=Lion), Animal(name=Elephant)]
Run Code Online (Sandbox Code Playgroud)
您可以使用find方法,该方法返回与给定 [predicate] 匹配的第一个元素,或者null如果没有找到这样的元素。尝试使用此代码来value查找array对象
val findedElement = array?.find {
it.id == value.id
}
if (findedElement != null) {
//your code here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26366 次 |
| 最近记录: |