我来自c#世界,所以对Java还不是很有经验。Eclipse刚刚告诉我Date已弃用:
Person p = new Person();
p.setDateOfBirth(new Date(1985, 1, 1));
为什么?应该用什么(尤其是在上述情况下)来代替呢?
我来自c#世界,所以对Java还不是很有经验。Eclipse刚刚告诉我Date已弃用:
Person p = new Person();
p.setDateOfBirth(new Date(1985, 1, 1));
为什么?应该用什么(尤其是在上述情况下)来代替呢?
当前回答
类似于binnyb的建议,您可以考虑使用较新的Calendar > GregorianCalendar方法。请看这些最新的文档:
http://download.oracle.com/javase/6/docs/api/java/util/GregorianCalendar.html
其他回答
我从Java安全代码指南中得到了这个
本节中的示例广泛使用java.util.Date 一个可变API类的例子。在应用程序中是这样的 最好使用新的Java日期和时间API (Java . Time .*) 被设计为不可变的。
不建议使用特定的Date构造函数,而应该使用Calendar。 JavaDoc for Date描述了哪些构造函数不推荐使用,以及如何使用Calendar替换它们。
Date本身没有被弃用。它的很多方法都是。详情请看这里。
请改用java.util.Calendar。
date类实际上并没有被弃用,只是该构造函数以及其他几个构造函数/方法被弃用了。它被弃用是因为这种用法与国际化不兼容。应该改为使用Calendar类:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 1988);
cal.set(Calendar.MONTH, Calendar.JANUARY);
cal.set(Calendar.DAY_OF_MONTH, 1);
Date dateRepresentation = cal.getTime();
看看Javadoc的日期:
http://download.oracle.com/javase/6/docs/api/java/util/Date.html
类似于binnyb的建议,您可以考虑使用较新的Calendar > GregorianCalendar方法。请看这些最新的文档:
http://download.oracle.com/javase/6/docs/api/java/util/GregorianCalendar.html