趕緊重寫Java的時間和日期API吧!

fmms 13年前發布 | 12K 次閱讀 Java

        最近 Java.net 的投票問題是:“在 Java 8 中實現 JSR-310(新的 Java 日期和時間 API)有多么重要? ”在這篇帖子發布的時候,對該話題已經有超過 150 條回應。其中“覺得非常重要”(53%),“重寫當然更好,使用當前的 API 也不錯”(22%)這兩種觀點以壓倒性比例蓋過了其他各種意見。

        顯然,對于重寫 Java 時間和日期 API 這件事情,有四分之三的回復者認為,“重寫更好”或者“重寫很重要”。我的觀點同大多數人一樣,我認為如下的說法并不為過:“Java 當前的 Date 類和 Calendar 類提供的方法并沒有和廣大開發者一同進步。”到目前我感到最驚奇的就是,居然有2% 的人選擇了“我寧愿使用當前的時間和日期類”,我都不禁懷疑,是不是這些 API 的作者們投了這2% 的票呢?

趕緊重寫Java的時間和日期API吧!

        我多次使用過 Java 的日期/時間/日歷 API。當我用它們的時候,我真的不喜歡它們,但是我強迫自己學會容忍他們。有的時候我甚至忘記了這些 API 有多么惡心,直到我再次使用他們為止。我最近幫助過我的一個熟悉 Java(但是不熟悉時間和日期 API)的同事,企圖讓他學會如何使用 Date/Calendar/String 類進行配置和顯示。把這些亂七八糟的東西給他講清楚是如此的困難,因為利用這些過于靈活的 API 寫程序,對我自己來說本身就困難重重。從我同事的臉上,我看到了迷惑的表情,他一定認為我要么在跟他開玩笑,要么就是我自己都不明白自己在說什么。盡管我 可以讓這些 API 按照我的意圖工作,但是其難度遠遠超出了其應有的水平。

        也有很多其他人表達了對使用 Java 時間/日期 API 所感到的痛苦。Rob Sanheim 在 2006 年提出了時間和日期 API 的問題,并將其納入“最爛的 5 個 Java API”的范疇(Calendar、Date 和 DateFormat/SimpleDateFormat)。2005年,Cameron Purdy 的文章《七個可能造成功能性障礙的設計習慣》,把 Java 的日期處理 API 推上了風口浪尖。Tero Kadenius 在 2011 年的文章《Java 中的日期處理》再次提醒我們:“眾所周知,使用 Java 時間日期 API 寫程序是如此地痛苦。”2009年的一篇名為《Java 日期如此糟糕》的帖子,可謂是名符其實。

        目前 Java.net 的調查結果應證了我的觀點和大部分 Java 開發者是相同的。在閱讀了大量的文章和博客后,我發現,絕大多數的 Java 開發這都迫切希望看到在 Java 中能出現一套更好的處理時間和日期的 API。

        英文原文:javacodegeeks   編譯:伯樂在線 – 黃小非

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!