我嘗試編程一個計算器,以便學習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