Как обновить Java Instant - PullRequest
       8

Как обновить Java Instant

0 голосов
/ 28 января 2019

Я хочу обновить объект Instant, чтобы я мог сравнить его снова.

Instant mvTime = Instant.now();
// Some Code
// Some More Code

Ниже код выполняется много раз:

Instant currentTime = Instant.now();                            
Duration timeBetween = Duration.between(mvTime, currentTime);
if (timeBetween.getSeconds() > Long.parseLong("120")) {
    doSomething()
    mvTime = mvTime.plusSeconds(Long.parseLong("180"));
}

Проблема в том, что я хочу обновить один и тот же экземпляр.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 28 января 2019

https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html

Этот класс является неизменяемым и поточно-ориентированным.

Вы не можете изменить экземпляр , каждый метод, который будет видоизменять экземпляр, вместо этого возвращает настроенную копию самого себя.

0 голосов
/ 28 января 2019

Как я понимаю, вы хотите обновить mvTime, вы можете использовать несколько методов на mvTime, например:

  • plusSeconds ()
  • plusMillis ()
  • plusNanos ()
  • minusSeconds ()
  • minusMillis ()
  • minusNanos ()

обратите внимание, что при вызове этого метода,вернет новый Instant объект

...