我的應用我最近繼承全是有關構造廢棄警告的:爲什麼不推薦使用「新日期(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