在TIME = 0
,用户调用一个在10秒后设置标志的方法。 (在TIME = 10
)
如果用户在TIME = 2
再次调用该方法,则该标记不应设置为TIME = 10
,而应设置为TIME = 12
:
boolean myFlag; // initializes to false
private Timer timer;
public void setFlag() {
// remove old timer if there was one
if (timer != null) { timer.cancel(); timer = null; }
// set the new timer
timer = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() { myFlag = true; }
};
timer.schedule(tt, 10000);
}
有没有更简洁的方法来实施这种“更新计划时间”模型?赞赏的例子。
答案 0 :(得分:-1)
我会简单地保持相同,但几乎没有变化。
始终声明变量,因为变量应该在首次使用时声明和初始化。
public void setFlag() {
Timer timer;
timer = new Timer();
// remove old timer if there was one
if (timer != null) { timer.cancel(); }
// set the new timer
TimerTask tt = new TimerTask() {
@Override
public void run() { setFlag(); }
};
timer.schedule(tt, 10000);
}