Вопрос:

Почему новый DateTime (nulll refrence) возвращает текущую дату?

java datetime jodatime

665 просмотра

1 ответ

384 Репутация автора

Следующий код печатает текущую дату. Есть ли способ в API Joda DateTime, чтобы возвратить нуль, если нулевая ссылка передана. Спасибо за помощь.

 class MyDateExtractor{
        private Date date;
        public Date getDate() {
            return date;
        }
        public void setDate(Date date) {
            this.date = date;
        }
    }

    public class DateTimeTest {
        @Test
        public void testName() throws Exception {
            MyDateExtractor date = new MyDateExtractor();
            System.out.println(new DateTime(date.getDate()));
        }
    }
Автор: Ben Tennyson Источник Размещён: 28.03.2017 06:26

Ответы (1)


2 плюса

56881 Репутация автора

DateTime имеет (среди прочих) конструкторов DateTime(Chronology), DateTime(DateTimeZone)и DateTime(Object). Если вы передадите нулевое значение, неясно, какое из них вы имеете в виду, и компилятор выдаст вам ошибку.

Если вы используете new DateTime(date.getDate()), значение времени выполнения будет нулевым, но компилятор может определить конструктор для вызова (тот, что с Objectпараметром, поскольку нет ничего более конкретного).

Вызов DateTime(Object) конструктора с нулевым параметром дает вам текущую дату / время.

Автор: Kayaman Размещён: 28.03.2017 06:33
Вопросы из категории :
32x32