Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Kotlin-检查数组包含值的惯用方法_Arrays_Kotlin - Fatal编程技术网

Arrays Kotlin-检查数组包含值的惯用方法

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

检查字符串数组是否包含Kotlin中的值的惯用方法是什么?就像ruby的
#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           
 }