2014-04-16 20 views
0

我想檢查是否一個ArrayList B包含arrayA有這樣的字符串,但它不工作方法:問題使用含有()用於ArrayList的

String match = arrayA[i]; 
if (! B.contains(match)) { 
    outputFile.print(match); 
} 

這是因爲我用了方法不正確?
我們可以在這裏把這個方法的變量的名字放在contains(match)這裏嗎?
或者我們必須在中放置一個字符串,如contains("name")

+1

你的''if''語句中的條件是否定的(用「!」表示),這意味着如果它們不匹配,你只會將文件打印到文件中。你確定這就是你想要的嗎? – f1sh

+0

你說它「不起作用」。你可以再詳細一點嗎?怎麼了? –

+0

請注意,「name」和值爲「name」的字符串在此處的工作方式相同。如果我沒有弄錯,他們甚至會指向內存中相同的字符串字面值。不同之處在於第二個有一個與之相關的變量。 – keyser

回答

1

if (! B.contains(match)) 

您檢查,如果B不包含匹配。 除此之外,該方法是有效的。

+0

感謝Christian!是的,我試圖列出不在列表B中的元素。 – user3474606

+0

然後您的包含是正確的。你的程序崩潰了嗎? – keyser

+0

不,它不會崩潰,但它不會正確打印字符串匹配。也許這是因爲其他方法,但不包含()。我會再檢查一次。謝謝,確認真的很有幫助! – user3474606