如何在java中停止计时器
我有一个名为timer的方法,每当用户输入某个内容时,我都会运行该方法,并将计时器安排为一分钟,但如果用户在不到一分钟的时间内输入某个内容,我希望计时器取消,然后重新调用自己,这样整个过程就会再次发生。我的方法如下: 输入法如何在java中停止计时器,java,timer,Java,Timer,我有一个名为timer的方法,每当用户输入某个内容时,我都会运行该方法,并将计时器安排为一分钟,但如果用户在不到一分钟的时间内输入某个内容,我希望计时器取消,然后重新调用自己,这样整个过程就会再次发生。我的方法如下: 输入法 public static String run(){ timer(); //runs everytime I call run() String s = input.nextLine(); return s; } 计时器法 public
public static String run(){
timer(); //runs everytime I call run()
String s = input.nextLine();
return s;
}
计时器法
public static void timer() {
TimerTask task = new TimerTask() {
public void run() {
System.out.println("Times up");
}
};
long delay = TimeUnit.MINUTES.toMillis(1);
Timer t = new Timer();
t.schedule(task, delay);
}
方法run每次有人输入东西时都会被调用,所以计时器会被调用,但这不会停止前面的计时器,我希望计时器停止,然后调用它自己,这样问题就不存在了。有人知道方法吗?TimerTask类有一个名为的方法,您可以调用该方法来取消挂起的计时器
在代码中,可能需要修改计时器函数以返回对新创建的TimerTask对象的引用,以便稍后调用cancel 那么,我该如何通过说t.cancel;,来取消它呢@user3450498-正确,t.取消;将取消计时器。有关更多信息,请参考java文档: