おわりに IDE(Eclipse)関連のようです。同じコードで別の名前の別のクラスを作成しましたが、正常に動作します。クリーニング、再起動などを試しました。うーん。
更新されたテスト コード私はここで困惑しています。問題を再現するコードをこれに絞り込みました。
これを実行する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;
}
}