Java 混亂的Date API 的奇怪案例
java.util.Date 和java.util.Calendar 類別長期以來一直受到批評他們固有的缺陷。日期是一個可變的時間戳,它帶來了許多挑戰,例如它無法明確地表示日期。另一方面,日曆笨拙地組合了不同的日曆系統,導致了繁瑣的使用者體驗。
缺陷設計的起源
儘管存在明顯的缺點,但這些類別找到了進入 Java SDK 的方式。有些人推測時間限制可能是一個因素。然而,更細緻的解釋在於那個時代 API 設計的演進。
早期 JDK 類別中的變異性
如 Date 所示,變異性一直是許多早期 JDK 類別的功能。它源於透過重複使用物件而不是創建副本來優化程式碼的願望。在虛擬機器效率較低的時代,這種方法似乎是合理的。
事後回顧
事後看來,這些類的問題是顯而易見的明顯的。然而,當時對 API 設計最佳實踐的理解還不太成熟。此外,Java 可變性模型的全部意義可能尚未完全實現。
不幸的遺產
儘管引入了JSR-310,它提供了更現代、更強大的 API 來處理日期和時間。不幸的是,許多遺留應用程式繼續依賴舊的類,從而延續了它們固有的問題。
總之,Java 日期 API 的混亂本質凸顯了深思熟慮的 API 設計的重要性,認識到可變性的潛在陷阱,以及對最佳實踐不斷發展的理解。雖然過去可能無法改變,但從這些失誤中學到的教訓可以指導未來的 API 開發工作。
以上是為什麼 Java 的 Date API 如此混亂?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在使用IntelliJIDEAUltimate版本啟動Spring...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...

在Idea中如何設置SpringBoot項目默認運行配置列表在使用IntelliJ...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版
中文版,非常好用

記事本++7.3.1
好用且免費的程式碼編輯器