2017-03-03 60 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。