我尝试编程一个计算器,以便学习Android开发中的开始,但我面临的问题是人类无法理解。我希望你不是人。«如果»变得疯狂
我如果条件请看:
if (result != "")
{
textView.append("0");
}
(您可能注意到,我用的isEmpty()方法,而不是因为的isEmpty()不支持API7«结果= “”!») 。
嘛。现在看看我的两个“结果”变量
result "" (id=830012674816)
count 0
hashCode 0
offset 0
value (id=830012674848)
result "" (id=830022154000)
count 0
hashCode 0
offset 0
value (id=830022154032)
(我复制,从Eclipse调试器两种结果)
的第一个结果是OK:那是一个我得到的,当我启动程序:在如果做到了它的工作并且通过了。 第二个似乎是完全一样的,但由于未知的原因,它进入if并追加零。按下“加号”按钮后,我得到此问题。
有什么想法?
如果您发现缺少信息或者您不了解问题,可以在此处找到整个工作区(进行中):http://www.sendspace.com/file/udp5d3。 要重现此问题,请在程序启动时按“零”按钮,并注意它通常不会显示。然后输入任意数字,例如“104”,“7”或“73”,按“加号”按钮,然后输入“零”。零不应该出现在这里。
谢谢:)
看看这个:http://stackoverflow.com/questions/3885753/string-comparison-and-string-interning-in-java – 2012-07-16 12:10:33
尝试'!result.equals(“”)' – 2012-07-16 12:10:42
Don'使用'equals(“”)'。使用'isEmpty()'。 – m0skit0 2012-07-16 12:17:34