我正在寫一個做了很多東西的android應用程序。我最近重構了我的代碼以獲得更好的結構,但突然間我遇到了一個非常奇怪的問題。IF聲明不起作用
handleRequest(String str)
{
boolean foo = executeCommand(str);
this.publishProgress("FOO1: " + foo);
if (foo == false);
{
this.publishProgress("FOO2: " + foo);
sendString("Failed to execute: " + str);
}
this.publishProgress("FOO3: " + foo);
sendEOM();
}
上面的代碼應該執行一個命令,並在命令執行正確的情況下存儲'foo'。此代碼位於Android AsyncTask(線程)內,因此我使用「publishProgress」顯示敬酒。
我一直在翻閱調試器,FOO是真的!敬酒表明FOO在整個過程中都是真實的。然而,它繼續前進並在IF塊內跳轉並執行。我從來沒有見過這個,我認爲它是Java的一個問題。我正在執行函數'executeCommand',看起來它也在跳過返回語句。
我已經在虛擬設備上運行了代碼,並且它們都是這樣做的。
任何想法?我在這裏完全不知所措。
刪除if語句 – 2012-07-17 15:43:41
不是你的問題後,分號,但更清潔,更清晰的使用'如果(!FOO)'來代替。 – dimo414 2012-07-17 16:11:11
@ dimo414對,當我發佈這個時候,我感到很沮喪,所以我把它改成了「FOO == FALSE」,這樣就可以清楚地看到我看不到任何錯誤。 – yellow 2012-07-17 17:09:15