import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.*;
public class SecondsTimer{
private ScheduledExecutorService timer;
private int seconds=0;
public SecondsTimer(){
long second=1000;
timer.scheduleAtFixedRate(new Runnable(){public void run(){seconds++;}},
second, second, TimeUnit.MILLISECONDS);
}
public int getSeconds(){return seconds;}
}
在上面的代码中,我试图创建代码来计算秒数。我遇到了第9行的运行时错误NullPointerException
。有更简单的方法可以做到这一点,还是我错过了一些明显的东西?
答案 0 :(得分:0)
问题是您从未设置变量null
,因此当您尝试使用它时它是ScheduledExecutorService
。
有关如何实例化etc/config.xml
接口的指导,have a look at the docs。
您必须在第9行之前设置它,因此在您尝试访问它之前。
旁注:由于您正在处理所有写入访问一个变量的多个线程,因此您还应该look into the concept of thread safety。