臭名昭著的Java 日期API:歷史性錯誤
Java 日期API 因其惡名而聞名,一直受到多個缺陷的困擾,這些缺陷使其成為Java SDK 中臭名昭著的組件。其中包括它的可變性、日期時間戳記而不是日期本身的錯誤表示,以及日期組件和 Date 物件之間缺乏直接轉換。此外,Calendar 類別被認為很笨重,並試圖將多個日曆系統合併到一個類別中。
人們對這些明顯的問題是如何進入 Java SDK 的感到好奇。儘管這些缺點表面上很簡單,尤其是 Date 類的可變性,但這些問題如何逃避偵測仍然是個謎。
根據消息來源,著名的Java 程式設計師常見問題解答,版本07.X.1998,由Peter van der Linden 撰寫,簡潔地解決了這個問題:
「類Date 代表時間上的特定瞬間,精度為毫秒。這是一個發人深省的例子,說明即使是優秀的程式設計師也會搞砸。
早期 JDK 類(包括 Date)變異性背後的基本原理被歸因於錯誤的最佳化。其目的是鼓勵物件重複使用並避免不必要的複製,但這種方法可能不適用於當代的虛擬機器。
儘管有許多缺點,Java 日期 API 仍然存在於 SDK 中,這對潛在的陷阱提出了清醒的提醒API 設計的局限性,即使是最有經驗的程式設計師也難免會犯錯。
以上是為什麼 Java 臭名昭著的 Date API 會犯下如此歷史性的錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!