如何将参数传递给Timertask Run方法

sjt*_*eri 5 java scheduling timertask

我有一个方法,我希望它可以安排在以后执行.调度时间和方法的参数取决于用户输入.

我已经尝试过Timers,但我有一个问题.

怎么可能将参数传递给Java TimerTask运行方法?

TimerTask timert = new TimerTask() 
{
     @Override
     public void run() 
     {
           //do something
     }
}   
Run Code Online (Sandbox Code Playgroud)

onu*_*san 28

您可以编写自己的类,它从TimerTask类扩展,您可以覆盖run方法.

class MyTimerTask extends TimerTask  {
     String param;

     public MyTimerTask(String param) {
         this.param = param;
     }

     @Override
     public void run() {
         // You can do anything you want with param 
     }
}
Run Code Online (Sandbox Code Playgroud)


set*_*thu 7

您将需要扩展TimerTask并创建构造函数和/或setter字段.然后在计划TimerTask执行之前设置所需的值.