Можно ли получить TimerTask от запланированного таймера? - PullRequest
0 голосов
/ 23 октября 2019

У меня запланировано несколько таймеров в массиве Timer[]. Каждый таймер имеет TimerTask, который запланирован, что на самом деле является моим собственным классом TimerDetails (который расширяет TimerTask).

В любой момент я хочу получить доступ к элементу в этом массиве (то есть, скорее всего, это произойдет до того, как закончится таймер), а затем вызвать метод getString() для TimerDetails в этом таймере.

Возможно ли это сделать, и если да, то как?

Суть моего кода, который был закомментирован:

TimerDetails iteratedDetails = iteratedTimer.getTimerTask();

По сути, чтоЯ хочу сделать, но нет метода .getTimerTask () по таймеру.

public class TimerDetails extends TimerTask {
    String name;

    public TimerFlowControl(String name) {
        this.name = name;
    }

    @Override
    public void run() {
        System.out.println(name);
    }

    public DatagramPacket getName()
    {
        return name;
    }
}

public static void main(String[] args)
{
    Timer[] timerList = new Timer[3];
    Timer t = new Timer(); // start new timer
    TimerDetails JimRepeat = new TimerFlowControl("Jim");
    TimerDetails SteveRepeat = new TimerFlowControl("Steve");
    TimerDetails AlanRepeat = new TimerFlowControl("Alan");
    packetTimer.schedule(JimRepeat, 2000, 2000);    //delay of 2 seconds, repeat every 2 seconds

    for(int i = 0; i < timerList.length; i++)
    {
        Timer iteratedTimer = timerList[i];
        //TimerDetails iteratedDetails = iteratedTimer.getTimerTask();
    }
}
...