任何人都看过下面的语句运行false?Android中的“IF语句”中的非常奇怪的行为
String BloodyHell = "Unbelievable";
if (BloodyHell == BloodyHell) >> false
虽然不是该死的,我有:|-,-|
或|o,-|
或|-,o|
或|o,o|
或XXXX
。
这些都不是真。虽然调试确切的东西仍然是错误的。
有人请帮助我在这里。这里的片段:
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++;
}
}
http://stackoverflow.com/a/4700501/1052673 – 2013-04-10 00:16:47
你需要小心你所做的广泛的例子。 'BloodyHell == BloodyHell'将永远*为真:http://ideone.com/ag6A29 – Eric 2013-04-10 00:18:53
我相信他们在Java书籍和教程中讨论的第一件事是关于使用equals()并解释原因为了它?回覆。问题海报 – 2013-04-10 00:22:04