2015-07-21 82 views
-1

所以我有一個arraylist和一個string。我必須比較arraylist是否包含字符串。我做了"ArrayList.toString()"將它轉換爲字符串,因爲我無法將一個數組列表與一個字符串進行比較。然後我開始使用.contains。它有點作品。例如,假設字符串1 =「ground」,並且在字符串2中存在單詞「playground」,那麼它會使得.contains爲真,因爲單詞「ground」位於單詞「playGROUND」的內部。無論如何要避免這種情況? arraylist有一些第一個字母上限,所以我把它設置.tolowercase,所以一切都可以是統一的。我試過.equals和.equalsIgnorecase,但沒有運氣。 :/String .contains another String

+1

很難理解你在這裏寫的是什麼? –

+3

您可能需要遍歷列表並檢查每個項目對應的單詞 – depperm

+0

我建議您發佈一些代碼,還可以使用for循環嗎?簡單地比較字符串... –

回答

1

我必須比較arraylist是否包含字符串。我做了 「ArrayList.toString()」將其轉換爲字符串,因爲我無法將 arraylist與字符串進行比較。

您還可以使用contains方法上ArrayList<String>

例如,讓我們說,如果串1 =「地面」,並在字符串2字 「操場」的存在,那麼它將使。包含true,因爲 單詞「地面」是INSIDE中的「playground」。反正有 避免這個?

是使用ArrayList的contains方法不會對ground返回true,如果它有playGround

我用盡.equals和.equalsIgnorecase並沒有運氣:/

你必須遍歷該ArrayList,比使用equalsIgnorecase每個String找到匹配。

+1

我很高興你能理解他在談論他的第三部分加上一個很好的解釋。 +1 – Adam

0

問題1:

迭代整個列表並且比較比較每個值的字符串。

for(string temp: yourList) 
    if(temp.equals(stringForCompare)) 
     //true 
//false 

問題2:

if(string2.contains(string1) && !string2.equals(string1))是你在你的問題這是沒有意義的,可以簡化爲if(!string2.equals(string1)被解釋的邏輯。

問題3:

甚至不知道你要問什麼,但@task有它很好回答它看起來。

相關問題