Java的货币和货币操作-JSR 354

时间:2018-10-25 22:27:01

标签: java-money jsr354

我只是好奇是否有人知道JSR 354是否可以作为任何将来的JDK的一部分正式实施。

当我在线搜索JDK 11文档时-好像没有包含MonetaryMonetaryAmount类。但是在jsr354-ri下的Github中存在JSR 354的实现。

如果我不想遵循参考实现,这是否意味着我可以编写自己的实现?我的目的是支持其他货币,例如Chinese Yuan Renminbi(离岸)CNH,尚未获得官方ISO认可,但众所周知。

谢谢

2 个答案:

答案 0 :(得分:1)

  1. 最初,JavaMoney的目标是包含在JDK中,但后来决定将其作为JavaEE规范。正如您可能知道的那样,从JDK11开始,JavaEE类不是JDK的一部分,应该将它们作为其他任何常规依赖项(即通过Maven)安装。
  2. 是的,您可以添加任何自定义货币,并且支持开箱即用。您需要按照教程CurrencyProviderSpi中的说明添加Registering Custom Currencies的实例。

答案 1 :(得分:0)

感谢您的输入。作为指定的新维护负责人之一(另请参见Transfer Ballot),请允许我从我们这方面给出更正式的答案。

您可能已经知道,Oracle从Java 11中删除了许多功能,JavaFX可能是最著名的“受害者”,它是由其他几家公司,几名Oracle员工和Oracle其他成员支持的开源生态系统。社区。

JavaMoney是JSR 354及其更广泛的扩展背后的更广泛的项目,始终发挥着相似的作用。移交投票后,有一家公司(Trivadis)和两名个人EG成员作为维护主管。加上很多其他的扩展,包括Red Hat或Zalando之类的大名字。 因此,JSR 354和可能的后续产品(又称JavaMoney 2.x)对Java SE的补充与OpenJFX,Apache NetBeans或其他Open Community所做的努力类似,而没有成为JDK不可或缺的一部分。我在Eclipse社区日与一位熟悉OpenJDK的Oracle员工进行了交谈,他确认,这也符合Oracle的兴趣,即专注于JDK的核心功能,而其他供应商和社区则提供了有关JDK的其他功能。 加上根据JDK本身开发的“迭代”发布计划下的将来的Money JSR,但我们计划向其他JSR开放,以符合社区需求的速度提供常规发布。应该说意大利或另一个国家由于债务过多或发生类似情况而发生的另一次“英国脱欧”而失去了在欧元区的地位,那么这些国家的货币将发生变化。而且独立的Money JSR可以通过提供必要的更改来立即对此做出响应,而不必等待JDK。