繁体   English   中英

类似的字符串比较失败

[英]Similar String comparison fails

我正在Android Studio中尝试以下代码。 在调试时,我发现即使变量B的值是“(”,我的if语句也不会执行并且将其悬停在它上面,这表明它是错误的(请参阅图像)。在这种情况下,ScreenText的值为“ 6” (“。

任何帮助表示赞赏。

在此处输入图片说明

您应该使用.equals()方法比较字符串。 在这种情况下,并且为了防止B变量为null时出现null指针异常,您应该这样做:

if("(".equals(B)) {
...
}

==运算符用于参考比较,以检查两个对象是否具有相同的参考。

您要比较两个String ,请使用boolean equals(String)方法。

if( "(".equals(B)) {
// your logic
}

在这里,将B与常数"("进行比较不需要您进行null检查。

我认为在Android中比较字符串的更通用的方法是:

TextUtils.equals(B, "(");

顺便说一下,在您的代码中

String.valueOf(c).toString();

toString()是多余的。

如果要比较两个字符串的值或内容,请使用.equals()

if(string.equals("(")){
    //Enter your code
}

但是,如果要检查两个对象指向相同的引用,请使用==

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM