次のコードのPMD レポートNullAssignment
、それを修正するためのベスト プラクティスは何ですか?
オブジェクトを null に割り当てるのはコードの匂いです。リファクタリングを検討してください。
次のコードは私が書いたものではありません。一時的なタイマー インスタンスを作成し、このインスタンスをタイマーに割り当てる理由についても質問があります。マルチスレッドコンテキストで使用されますstartTimer
。stopTimer
private Timer timer;
private void startTimer() {
if (timer == null) {
Timer aTimer = timerService.createTimer(DEFAULT_TIMER_VALUE, null);
aTimer.setListener(this);
timer = aTimer;
}
}
private void stopTimer() {
if (timer != null) {
Timer aTimer = timer;
timer = null;
aTimer.cancel();
aTimer.setListener(null);
}
}
public void start() {
synchronized(..) {
startTimer();
}
}
public void stop() {
synchronized(..) {
stopTimer();
}
}