我遇到了java.math.BigDecimal和android.icu.math.BigDecimal,因为我需要在项目中使用BigDecimal。
我意识到Android BigDecimal需要API 24级
这两类学生有什么不同?我想知道在Android实现中是否存在性能优化?
发布于 2018-09-25 08:42:36
android.icu.math.BigDecimal是ICU图书馆 (Unicode的国际组件)的一部分。由于API 24,Android框架公开了一些ICU4J类供您使用。关于Unicode和I18N支持的Android文档指出:
java和android包中的某些类与ICU4J中的类相当。然而,ICU4J常常为标准和语言提供更广泛的支持。
不要对上面的引号感到困惑,因为ICU类确实驻留在android包中。为了避免冲突,他们从android.icu迁移到com.ibm.icu。
特别是关于BigDecimal:我在网上发现了一个讨论,它的结论是,在BigDecimal可用之前,BigDecimal在Java中是可用的,并且为了兼容性的目的而保存在库中。
底线:使用任何您喜欢的实现,但是java.math.BigDecimal在将来不太可能被废弃。
发布于 2018-09-25 08:27:09
无论使用java.math.BigDecimal还是android.icu.math.BigDecimal,两者之间都不会有性能差异。因为这些是基本类,所以Android BigDecimal是参照BigDecimal重新创建的.
如果你问两者之间的区别,那么
https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html https://developer.android.com/reference/java/math/BigDecimal
Android重新创建类以向现有类添加一些功能。
发布于 2018-09-25 08:08:47
我认为TLDR的不同之处在于,java.math.BigDecimal是用于Java的,android.icu.math.BigDecimal是针对Kotlin的。
您可以阅读他们的文档,以获得更详细的差异。
https://developer.android.com/reference/java/math/BigDecimal https://developer.android.com/reference/kotlin/android/icu/math/BigDecimal
https://stackoverflow.com/questions/52493345
复制相似问题