2017-03-03 65 views
-6

我知道爲了查看兩個字符串的內容是否匹配在Java中,我們可以使用.equals()方法,但是我們可以使用什麼來查看它們是否不匹配?我見過的例子,可以說我有一個名爲字符串:password被設置爲CooperJava中的字符串:.equals()

(!password.equals("Cooper"));

是否感嘆號的意思是,如果密碼不等於Cooper,它是檢查?

謝謝

+1

在您的示例'''的意思是「不是」的上下文中,它翻轉了boolean值的結果,所以如果'equals'返回'true',那麼'''會使它成爲'false',你也在正常比較中看,如果a不等於'b',a!= b'將返回'true'(出於參數的緣故,假設有數字) – MadProgrammer

+0

這不是*感嘆號*。這是*不是運營商*。 –

+0

@KenWhite Unicode聯盟會不同意你。 (http://www.fileformat.info/info/unicode/char/0021/index.htm) –

回答

1

是的,這是正確的!標記將翻轉boolean的值。

0

您可以有兩個選擇,檢查密碼是否不等於Cooper

if(!password.equals("Copper")) 
    { 
     //do something 
    } 

if(!"Copper".equals(password)) 
{ 
    //do something 
} 
0

(!password.equals("Cooper"))是正確的。 !符號將切換布爾結果的值。

而不是你的說法,我寧願(!"Cooper".equals(password)),因爲在左側的常數值也將消除空指針異常的機會。

如果password的值爲null,那麼您的語句將拋出NullPointerException。