Если вы реализовали это, и оно работает, как и ожидалось, это в значительной степени определение "это правильно?" так что только вы можете ответить на это. Здесь нет серьезных проблем со стилем кода или чего-то еще, и по большей части вы, кажется, используете Timer как задумано.
Вопрос в том, «Какое у вас время?»
Точные химические / субатомные взаимодействия или механизмы безопасности для атомных реакторов / управления воздушным движением?
Комментарии к исходному вопросу содержат несколько указателей на альтернативные реализации или модификации, которые вы можете сделать, в зависимости от того, что вы хотите сделать, и от того, насколько точным должен быть таймер. Если вам нужна точность менее секунды, вам действительно стоит начать изучать System.nonoTime()
.
Ваше белье?
Если, с другой стороны, вы просто создаете простой таймер обратного отсчета (например, для приготовления пищи, напоминания о том, что стирка была сделана и т. Д.), То он действительно должен быть точным только в течение 1-5 секунд с момента Время будет на уровне минут / часов, и немного больше или меньше не будет иметь практического значения. Я сомневаюсь, что кто-то действительно заметит (или даже позаботится), если в таких приложениях будет пара секунд. Если дело обстоит именно так, используйте более понятную / понятную реализацию.