是否有任何特定原因在 API 中使用 Date 类(例如,在员工出生日期字段中)而不是 long 或 Long。
对此有一些讨论: java-date-vs-calendar,但我想特别知道是否有任何理由使用日期,当长(或长)看起来更简单时。
当然,我会使用 TimeZone 和 SimpleDateFormatter 在 GUI 中解析和显示日期,也许还会使用 Calendar 来执行操作,但我只关心这个问题中数据模型/API 中日期的存储和表示。
更新:我不选择 Date 的一个原因是它是可变的。因此,如果我在我的 API 中公开一个日期,调用者可以调用 setTime(long),这似乎违反了基本封装。对我来说,这似乎超过了使用 Date 提供的额外清晰度的好处,因为我可以调用长属性 timeInMillisecondsSinceEpoch 并将相同的信息传达给调用者。