赶紧重写Java的时间和日期API吧!

fmms 12年前
     <p>        最近 Java.net 的投票问题是:“在 Java 8 中实现 JSR-310(新的 Java 日期和时间 API)有多么重要? ”在这篇帖子发布的时候,对该话题已经有超过 150 条回应。其中“觉得非常重要”(53%),“重写当然更好,使用当前的 API 也不错”(22%)这两种观点以压倒性比例盖过了其他各种意见。</p>    <p>        显然,对于重写 Java 时间和日期 API 这件事情,有四分之三的回复者认为,“重写更好”或者“重写很重要”。我的观点同大多数人一样,我认为如下的说法并不为过:“Java 当前的 Date 类和 Calendar 类提供的方法并没有和广大开发者一同进步。”到目前我感到最惊奇的就是,居然有2% 的人选择了“我宁愿使用当前的时间和日期类”,我都不禁怀疑,是不是这些 API 的作者们投了这2% 的票呢?</p>    <p style="text-align:center;"><a title="赶紧重写 Java 时间和日期 API 吧!" rel="lightbox[15966]"><img title="赶紧重写 Java 时间和日期 API 吧!" alt="赶紧重写Java的时间和日期API吧!" src="https://simg.open-open.com/show/f333fad7d3d743dc9628e95a6742ff0d.jpg" width="300" height="224" /></a></p>    <p>        我多次使用过 Java 的日期/时间/日历 API。当我用它们的时候,我真的不喜欢它们,但是我强迫自己学会容忍他们。有的时候我甚至忘记了这些 API 有多么恶心,直到我再次使用他们为止。我最近帮助过我的一个熟悉 Java(但是不熟悉时间和日期 API)的同事,企图让他学会如何使用 Date/Calendar/String 类进行配置和显示。把这些乱七八糟的东西给他讲清楚是如此的困难,因为利用这些过于灵活的 API 写程序,对我自己来说本身就困难重重。从我同事的脸上,我看到了迷惑的表情,他一定认为我要么在跟他开玩笑,要么就是我自己都不明白自己在说什么。尽管我 可以让这些 API 按照我的意图工作,但是其难度远远超出了其应有的水平。</p>    <p>        也有很多其他人表达了对使用 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 日期如此糟糕》的帖子,可谓是名符其实。</p>    <p>        目前 Java.net 的调查结果应证了我的观点和大部分 Java 开发者是相同的。在阅读了大量的文章和博客后,我发现,绝大多数的 Java 开发这都迫切希望看到在 Java 中能出现一套更好的处理时间和日期的 API。</p>    <p>        英文原文:<a href="/misc/goto?guid=4958334475969448482" rel="nofollow" target="_blank">javacodegeeks</a>   编译:<a href="/misc/goto?guid=4958185140659301754" target="_blank">伯乐</a>在线 – <a title="重写 Java 时间和日期 API,赶紧吧!" href="/misc/goto?guid=4958334477511071503">黄小非</a></p>    <div id="come_from">     来自:     <a id="link_source2" href="http://blog.jobbole.com/15966/?utm_source=rss&utm_medium=rss&utm_campaign=%25e8%25b5%25b6%25e7%25b4%25a7%25e9%2587%258d%25e5%2586%2599java%25e6%2597%25b6%25e9%2597%25b4%25e5%2592%258c%25e6%2597%25a5%25e6%259c%259fapi%25e5%2590%25a7%25ef%25bc%2581" target="_blank">blog.jobbole.com</a>    </div>