0
爲什麼getTime()
方法返回null
值?當time
被聲明爲static
變量時,它返回一個非空值,但是我們不能用不同的時間創建對象。如何在以下片段代碼中獲取時間
package timecounter;
import java.util.Timer;
import java.util.TimerTask;
public class Timerx extends TimerTask {
int H, M, S;
Timer timer;
String time;
@Override
public void run() {
S++;
if (S >= 60) {
M++;
S = 0;
if (M >= 60) {
H++;
M = 0;
if (H >= 12) {
H = 0;
}
}
}
this.time = String.format("%2d:%2d:%2d", H, M, S);
System.out.print("Running");
}
public void start() {
timer.schedule(new Timerx(), 1000, 1000);
}
public Timerx() {
this.timer = new Timer();
}
public String getTime() {// here return null value
return time;
}
}
你是什麼意思「它返回時」字符串靜態時間「變量」?我的猜測是,你在一個新的實例上調用'getTime()',而不是定時器實際觸發的那個。 – 2014-11-01 10:45:29
'start()'似乎安排了一個'新的Timerx()'而不是'this'。我想這是問題。 – 2014-11-01 10:46:06
其實我不能得到它返回空值的時間。當我改變時間變量字符串它的工作,但timeCounter在同一時間返回 – 2014-11-02 06:07:48