Arrays Kotlin-检查数组包含值的惯用方法
检查字符串数组是否包含Kotlin中的值的惯用方法是什么?就像ruby的Arrays Kotlin-检查数组包含值的惯用方法,arrays,kotlin,Arrays,Kotlin,检查字符串数组是否包含Kotlin中的值的惯用方法是什么?就像ruby的#include? 我想: array.filter { it == "value" }.any() 有更好的方法吗?您正在寻找的等效方法是运算符 array.contains("value") Kotlin为该运营商提供了一种替代方案: "value" in array 这与在幕后调用的函数相同,但由于Java中找不到这一函数,我们可以说in是最惯用的方法。使用in操作符是一种惯用的方法 val
#include?
我想:
array.filter { it == "value" }.any()
有更好的方法吗?您正在寻找的等效方法是运算符
array.contains("value")
Kotlin为该运营商提供了一种替代方案:
"value" in array
这与在幕后调用的函数相同,但由于Java中找不到这一函数,我们可以说
in
是最惯用的方法。使用in操作符是一种惯用的方法
val contains = "a" in arrayOf("a", "b", "c")
在本例中,您可以使用调用:
数组中的“值”
您还可以使用any()
下面的代码可以在ArrayList中找到包含对象的特定字段。Amar Jain的回答帮助了我:
listOfObjects.any{ it.field == "value"}
您可以使用它。包含(“”)
输出将是
[Animal(name=Lion), Animal(name=Elephant)]
您可以使用find
方法,该方法返回与给定[predicate]匹配的第一个元素,如果没有找到这样的元素,则返回null
。
尝试使用此代码在对象的数组中查找值
val findedElement = array?.find {
it.id == value.id
}
if (findedElement != null) {
//your code here
}
当我在Kotlin中尝试此操作时,我得到了一个“类型推断失败。类型参数T的值应该在输入类型中提及。”私有变量domainsArray=arrayOf(“@ebay.com”、“@google.com”、“@gmail.com”、“@umd.edu”)var domainFound=Arrays.asList(domainsArray).contains(电子邮件)只需编写变量domainFound=domainsArray.contains(电子邮件)或者更惯用的var domainFound=domainsArray中的电子邮件
[Animal(name=Lion), Animal(name=Elephant)]
val findedElement = array?.find {
it.id == value.id
}
if (findedElement != null) {
//your code here
}