我的应用我最近继承全是有关构造废弃警告的:为什么不推荐使用“新日期(int year,int month,int day)”?
Date d = new Date(int year, int month, int day)
有谁知道或可以指向为什么这么简单的东西是“替代”的东西,如一个原因:
Date d = null;
Calendar cal = GregorianCalendar.getInstance();
cal.set(1900 + year, month, day);
d = cal.getTime();
现在,明显的弃用警告本身并不是一个问题,但是你能想象如果这个构造函数被移除,那么数百万的LOC会在痛苦中哭泣吗?
在我短暂的基准测试中,后者花费了大约50%的时间来执行。
是不是第一行总是浪费时间?你从cal得到一个Date到Calendar.getTime(),那么为什么要用新的Date()调用创建一个然后抛弃呢?特别是如果你是基准这... – unwind 2009-01-20 08:35:01
@ unwind:一个很好的捕获。为什么不呢,发个帖子。 – 2009-01-20 09:01:59
也许是因为美国人平均预期日期(年整型,诠释天,月整型);-) – Skizz 2009-01-20 09:55:50