2014-08-29 68 views
2

我知道通過使用contains可以檢查一個String是否包含某些單詞或whatnots。但是有一個!contains方法嗎?例如,我希望它檢查字符串以查看它是否包含單詞「like」,但我也希望它檢查它是否不包含單詞「not」。那可能嗎?!contains()方法?那可能嗎?

if (text.contains("like")&&text.!contains("not")){ 
System.out.println("Is that a trick question? Yes."); 
x = 1;} 
+5

當然你只想'!text.contains(「not」)'? – 2014-08-29 23:38:15

+0

啊,是的。我只是不知道在哪裏放置!標記。謝謝。 – nmelssx 2014-08-29 23:48:37

回答

6

您的語法接近。是這樣的,

String text = "like yes"; 
if (text.contains("like") && !text.contains("not")) { 
    System.out.println("like yes"); 
} 
text = "like not"; 
if (text.contains("like") && !text.contains("not")) { 
    System.out.println("like not"); 
} 

輸出是

like yes 
+1

謝謝。我不確定在哪裏放置!標記。 – nmelssx 2014-08-29 23:50:04

1

!是一元運算符,就像一元-這是用來計算一個數值的負數。要使用它,可以編寫一個表達式,其值爲boolean(或Boolean),並將!放在它的前面;你可能不得不把表達式放在括號裏。

text.contains("not")是一個表達式。具體而言,這是一個返回boolean的方法調用。而一個返回值的方法調用是一個表達式。所以爲了得到表達式的倒數,在它之前放!

有時你必須使用括號來得到正確的分組,如

!(text.length() == 0 || text.contains("abc")) 

進行檢查,看是否有其他的是真實的,然後給出false如果任一部分是真實的。你可以寫

!(text.contains("not")) 

但它沒有必要。

但要記住的關鍵是!是一個運營商,你可以像其他運營商一樣使用它。如果你記得的話,你不應該把它放在哪裏。