2017-02-14 48 views
3

檢查一個字符串數組是否包含kotlin值的慣用方法是什麼?就像紅寶石的#include?Kotlin - 檢查數組的語法方法包含值

我雖然約:

array.filter { it == "value" }.any() 

有沒有更好的辦法?

+0

你爲什麼要發佈這樣的計算器上的問題?只需谷歌它或打開API參考。 –

+0

考慮到答案中的upvotes,在2天內,我想我幫助了18個人,並獲得了60個意見。我認爲這對社區來說是積極的,沒有問題是不會被問到的。 – jturolla

回答

7

您正在查找的等價物是contains運營商。

array.contains("value") 

科特林可供選擇infix notation此操作:

"value" in array 

這就是所謂的幕後相同的功能,但由於infix notation在Java中都沒有找到一個可以說in是最慣用的方式。

+1

當我在Kotlin中嘗試這個時,我得到一個「類型推斷失敗。類型參數T的值應該在輸入類型中提到。」 私人變種domainsArray = arrayOf( 「@ ebay.com」, 「@ google.com」, 「@ gmail.com」, 「@ umd.edu」) 變種domainFound = Arrays.asList(domainsArray)。載(電子郵件) –

+0

只需在domainsArray中寫var domainFound = domainsArray.contains(email)或更多地方var domainFound = email –

7

使用運算符是一種慣用的方式來做到這一點。

val contains = "a" in arrayOf("a", "b", "c") 
相關問題