我知道爲了查看兩個字符串的內容是否匹配在Java中,我們可以使用.equals()
方法,但是我們可以使用什麼來查看它們是否不匹配?我見過的例子,可以說我有一個名爲字符串:password
被設置爲Cooper
Java中的字符串:.equals()
(!password.equals("Cooper"));
是否感嘆號的意思是,如果密碼不等於Cooper
,它是檢查?
謝謝
我知道爲了查看兩個字符串的內容是否匹配在Java中,我們可以使用.equals()
方法,但是我們可以使用什麼來查看它們是否不匹配?我見過的例子,可以說我有一個名爲字符串:password
被設置爲Cooper
Java中的字符串:.equals()
(!password.equals("Cooper"));
是否感嘆號的意思是,如果密碼不等於Cooper
,它是檢查?
謝謝
是的,這是正確的。 !
標記將翻轉boolean
的值。
您可以有兩個選擇,檢查密碼是否不等於Cooper
if(!password.equals("Copper"))
{
//do something
}
或
if(!"Copper".equals(password))
{
//do something
}
(!password.equals("Cooper"))
是正確的。 !符號將切換布爾結果的值。
而不是你的說法,我寧願(!"Cooper".equals(password))
,因爲在左側的常數值也將消除空指針異常的機會。
如果password的值爲null,那麼您的語句將拋出NullPointerException。
在您的示例'''的意思是「不是」的上下文中,它翻轉了boolean值的結果,所以如果'equals'返回'true',那麼'''會使它成爲'false',你也在正常比較中看,如果a不等於'b',a!= b'將返回'true'(出於參數的緣故,假設有數字) – MadProgrammer
這不是*感嘆號*。這是*不是運營商*。 –
@KenWhite Unicode聯盟會不同意你。 (http://www.fileformat.info/info/unicode/char/0021/index.htm) –