java 8 中 java BigDecimal 的 IBM 和 Oracle 实现的差异?
Differences of implementations from IBM and Oracle of java BigDecimal in java 8?
任何人都可以向我解释 java 8 中 IBM 和 Oracle 的 java BigDecimal 实现的差异吗?
我知道 BigDecimal 的 IBM 实现 (com.ibm.math.BigDecimal) 已被弃用,我想转向 Oracle 实现 (java.math.BigDecimal),但我想知道两者之间的主要区别2 个版本(从版本 java 8 开始)。
谢谢。
IBM donated their code 至 Java 5.
OpenJDK 中的 BigDecimal
实现是原始 IBM 实现的延续和演变。请注意 source code of OpenJDK 中的 IBM 版权声明。也许您对该文件的更改历史感兴趣。
自从他们捐赠以来,我知道已经进行了一些重大改进,但我不记得细节了。在 JavaOne 会议上进行了讨论,解决了这些改进、错误修复和 math-related 问题。
迁移非常简单:
- 更改您的
import
语句。
- 知道任何序列化的objects不能在两个实现之间读取(被识别为来自两个不同的类)。
引用IBM:
Enhanced BigDecimal
From Java™ 5.0, the IBM® BigDecimal class has been adopted by Oracle as java.math.BigDecimal. The com.ibm.math.BigDecimal class is reserved for possible future use by IBM and is currently deprecated. Migrate existing Java code to use java.math.BigDecimal.
The new java.math.BigDecimal uses the same methods as both the previous java.math.BigDecimal and com.ibm.math.BigDecimal. Existing code using java.math.BigDecimal continues to work correctly. The two classes do not serialize.
To migrate existing Java code to use the java.math.BigDecimal class, change the import statement at the start of your .java file from: import com.ibm.math.; to import java.math.;.
任何人都可以向我解释 java 8 中 IBM 和 Oracle 的 java BigDecimal 实现的差异吗?
我知道 BigDecimal 的 IBM 实现 (com.ibm.math.BigDecimal) 已被弃用,我想转向 Oracle 实现 (java.math.BigDecimal),但我想知道两者之间的主要区别2 个版本(从版本 java 8 开始)。
谢谢。
IBM donated their code 至 Java 5.
OpenJDK 中的 BigDecimal
实现是原始 IBM 实现的延续和演变。请注意 source code of OpenJDK 中的 IBM 版权声明。也许您对该文件的更改历史感兴趣。
自从他们捐赠以来,我知道已经进行了一些重大改进,但我不记得细节了。在 JavaOne 会议上进行了讨论,解决了这些改进、错误修复和 math-related 问题。
迁移非常简单:
- 更改您的
import
语句。 - 知道任何序列化的objects不能在两个实现之间读取(被识别为来自两个不同的类)。
引用IBM:
Enhanced BigDecimal
From Java™ 5.0, the IBM® BigDecimal class has been adopted by Oracle as java.math.BigDecimal. The com.ibm.math.BigDecimal class is reserved for possible future use by IBM and is currently deprecated. Migrate existing Java code to use java.math.BigDecimal.
The new java.math.BigDecimal uses the same methods as both the previous java.math.BigDecimal and com.ibm.math.BigDecimal. Existing code using java.math.BigDecimal continues to work correctly. The two classes do not serialize.
To migrate existing Java code to use the java.math.BigDecimal class, change the import statement at the start of your .java file from: import com.ibm.math.; to import java.math.;.