为什么新的DateTime(nulll refrence)返回当前日期?

时间:2017-03-28 18:26:50

标签: java datetime jodatime

以下代码打印当前日期。如果传入null引用,Joda DateTime API中是否有任何方法返回null。 感谢帮助。

 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()));
        }
    }

1 个答案:

答案 0 :(得分:2)

DateTime包含(以及其他)构造函数DateTime(Chronology)DateTime(DateTimeZone)DateTime(Object)。如果传入null,则不清楚您的意思是哪一个,编译器会给您一个错误。

如果使用new DateTime(date.getDate()),运行时值将为null,但编译器可以确定要调用的构造函数(具有Object param的构造函数,因为没有更具体的内容)。

使用null参数调用DateTime(Object) constructor会为您提供当前日期/时间。