關閉它看起來像它與IDE(Eclipse)相關。我用相同的代碼和不同的名稱構建了一個單獨的類,它工作正常。嘗試清潔,重新啓動等。java - 修改成員變量會導致行被跳過
更新後的測試代碼我被困在這裏,我猜這是愚蠢的。我已經削減了我的代碼,這再現了這個問題。
這會執行mMemberVar = 2;
,然後導致return now.add(Calendar.DAY_OF_YEAR, 1);
被跳過。然後跳到return null;
這是由於它是由Serializable
和修改它自己的成員變量奇怪嗎?我找不到任何東西。
public class Alarm implements Serializable {
int mMemberVar = 0;
public Calendar nextTime() {
Calendar now = Calendar.getInstance();
if (true) {
if (true) {
if (true) {
mMemberVar = 2;
// return is skipped
now.add(Calendar.DAY_OF_YEAR, 1);
return now;
}
}
now.add(Calendar.DAY_OF_YEAR, 2);
return now;
}
return null;
}
}
嘗試清理和重建。 – samitgaur
對不起大家。我與now.add(...)的錯誤。我已經修復了我的測試代碼,但它仍然存在。我已經清理並重建了。 – Kirk
@Kirk對不起,但我不能重現這個問題。請參閱:http://ideone.com/fCIaO。嘗試在該方法的開頭添加'System.out.println(「Hello world!」);'以確保編譯代碼。 – bezmax