有人见过以下语句运行错误吗?
String BloodyHell = "Unbelievable";
if (BloodyHell == BloodyHell) >> false
虽然我没有得到该死的 hell ,但得到的是:|-,-|
或|o,-|
或|-,o|
或|o,o|
或XXXX
.
但这些都不是真的。在调试时,确切的情况仍然是错误的。
请有人帮帮我。这是 fragment :
public String doStats()
{
String[] pattern = splitPattern();
for (int i = 0; i < pattern.length; i++)
{
if (pattern[i] == "|-,-|")
frontClosed++;
if (pattern[i] == "|o,-|")
left++;
if (pattern[i] == "|-,o|")
right++;
if (pattern[i] == "|o,o|")
frontOpened++;
if (pattern[i] == "XXXX")
noFace++;
}
}
最佳答案
在 Java 中,您应该使用 String#equals
方法来比较字符串值而不是 ==
。 ==
运算符比较对象引用以查看它们是否是同一个对象,这就是为什么您不断得到 false
的结果。即使字符串的内容相同,对象引用也是不同的。
if (pattern[i].equals("|-,-|"))
关于java - Android 中 "IF STATEMENT"的行为非常奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15914795/