Nic*_*ick 2 java scala date deprecated design-decisions
我应该先使用 Apache Spark,它使用java.sql.Date,以防有人建议我应该使用java.time. 下面的示例在 Scala 中。
我使用(已弃用)获取日期的月份的 API 如下:
val date: java.sql.Date = ???
val month = date.getMonth()
Run Code Online (Sandbox Code Playgroud)
但是,如果我根据弃用情况查看我应该如何执行此操作,则上面的代码将重写如下:
val date: java.sql.Date = ???
val cal = Calendar.getInstance()
cal.setTime(date)
cal.get(Calendar.MONTH)
Run Code Online (Sandbox Code Playgroud)
代码的简单性和可读性明显不同,从函数式编程的角度来看,日期作为日历的副作用并不是非常好。有人可以解释为什么他们认为进行了这种更改吗?
在 JDK 1.1 之前,类 Date 有两个附加功能。它允许将日期解释为年、月、日、小时、分钟和秒值。它还允许格式化和解析日期字符串。不幸的是,这些函数的 API不适合国际化。从 JDK 1.1 开始,应该使用 Calendar 类在日期和时间字段之间进行转换,并且应该使用 DateFormat 类来格式化和解析日期字符串。不推荐使用 Date 中的相应方法。
JavaDoc解释了。国际化。
“如果有人建议我应该使用来自java.time“的日期
没有什么可以阻止您java.time尽快转换为类,执行您需要的任何计算/修改,如果您需要重新插入,请java.sql.Date再次转换回。
| 归档时间: |
|
| 查看次数: |
450 次 |
| 最近记录: |