将参数传递给Timer Task(Java)
我在循环中有一个计时器任务;
我想把时间任务传递给循环中的数字……
那可能吗?
我的代码:
... int i = 0; while (i < array.size){ Timer timer = new Timer(); timer.schedule(new RegrowCornAnimate(), 0, 1000); i++ } ... class RegrowCornAnimate extends TimerTask { public void run() { //Do stuff } }
如何更改它以便我可以在TimerTask类中使用i
? -as在每个TimerTask中将知道它是在/ in / from下创建的。
谢谢,
class RegrowCornAnimate extends TimerTask { private final int serial; RegrowCornAnimate ( int serial ) { this.serial = serial; } public void run() { //Do stuff } } ... int i = 0; while (i < array.size){ Timer timer = new Timer(); timer.schedule(new RegrowCornAnimate( i ), 0, 1000); i++; } ...
为RegrowCornAnimate
类提供一个构造函数,该构造函数接受一个int
并将其存储在一个字段中。 创建时将i
传递给构造函数。
在RegrowCornAnimate
创建一个构造函数,获取您想要使用的参数,然后将它们存储为类中的成员。
调用RegrowCornAnimate.run
读取值。
请参阅http://www.roseindia.net/java/task-scheduling.shtml上的示例。 此示例在每次运行时打印一个数字。