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

开发 后端
最近Java.net的投票问题是:“在Java 8中实现JSR-310(新的Java日期和时间API)有多么重要? ”在这篇帖子发布的时候,对该话题已经有超过150条回应。

最近Java.net的投票问题是:“在Java 8中实现JSR-310(新的Java日期和时间API)有多么重要? ”在这篇帖子发布的时候,对该话题已经有超过150条回应。其中“觉得非常重要”(53%),“重写当然更好,使用当前的API也不错”(22%)这两种观点以压倒性比例盖过了其他各种意见。

显然,对于重写Java时间和日期API这件事情,有四分之三的回复者认为,“重写更好”或者“重写很重要”。我的观点同大多数人一样,我认为如下的说法并不为过:“Java当前的Date类和Calendar类提供的方法并没有和广大开发者一同进步。”到目前我感到最惊奇的就是,居然有2%的人选择了“我宁愿使用当前的时间和日期类”,我都不禁怀疑,是不是这些API的作者们投了这2%的票呢?

[[63894]]

我多次使用过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

原文链接:http://blog.jobbole.com/15966/

【编辑推荐】

  1. 谈谈Java的自动装箱和拆箱
  2. 如何进行Java EE性能测试与调优
  3. Java 8新功能详细解读
  4. Java编程风格与命名规范整理
  5. Java编程中“为了性能”尽量要做的几点
责任编辑:林师授 来源: 伯乐在线
相关推荐

2021-07-19 07:55:24

JavaScript技巧实践

2014-12-22 10:14:31

Java8

2013-03-27 11:11:07

API日期APIAPI设计

2024-03-11 08:21:49

2020-11-18 09:37:07

程序员技术996

2020-10-26 08:06:59

网络技巧CSS

2023-01-10 08:27:35

Java8APIJava

2020-04-20 10:10:52

Python数据可视化数据科学

2023-02-27 08:53:54

JedislettuceRedis

2024-02-04 08:35:03

APIJava 8数据库

2024-02-02 11:18:37

Java 8API对象

2010-11-25 11:01:33

MySQL日期函数

2014-12-25 15:33:16

2018-06-13 15:48:21

Spring BootJava 8API

2017-07-27 15:50:19

Java时间日期

2021-06-10 18:59:41

Java编程语言

2021-02-24 11:31:59

SQLServer数据库时间

2022-10-17 08:02:05

Python日期用法

2010-05-10 18:42:40

Unix系统

2010-07-15 14:17:15

点赞
收藏

51CTO技术栈公众号