Joda-Time новый DateTime () против DateTime.now () - PullRequest
0 голосов
/ 03 сентября 2018

Начиная с версии Joda-Time time 2.0 был введен статический метод org.joda.time.DateTime#now(). Мне не ясно, в чем преимущество использования new DateTime() (так как код все равно делегирует).

public static DateTime now() {
    return new DateTime();
}

Также из документа java мне не ясно, какой из них мне лучше выбрать.

new DateTime

Получает {@code DateTime}, установленный на текущую системную миллисекунду с использованием ISOChronology в часовом поясе по умолчанию.

DateTime#now()

Создает экземпляр, установленный на текущее системное время в миллисекундах, используя ISOChronology в часовом поясе по умолчанию.

Может кто-нибудь объяснить, в каком случае использовать какой из них предпочтительнее?

Ответы [ 3 ]

0 голосов
/ 14 декабря 2018

Я не думаю, что есть какая-то разница. Использование DateTime.now () выглядит более элегантно, чем новый DateTime () в вашем коде. Вот исходный код DateTime.now ().

public static DateTime now() {
    return new DateTime();
}
0 голосов
/ 07 января 2019

Был добавлен метод now(), чтобы сделать Joda-Time немного ближе к java.time.* в Java 8, что немного упростило процесс конвертации. Оба метода имеют одинаковое поведение.

0 голосов
/ 03 сентября 2018

new DateTime() требует, чтобы был выделен новый объект. DateTime.now может повторно использовать один объект в запросах, поскольку экземпляры DateTime являются неизменяемыми. Это может вызвать меньший отток памяти.

Но в основном я сомневаюсь, что это важно, что вы используете.

...