Me he enfrentado java.math.BigDecimal
y android.icu.math.BigDecimal
como yo requiero para utilizar BigDecimal
en el proyecto.
Me he dado cuenta de que el Android BigDecimal
requiere nivel de la API 24
¿Cuál es la diferencia entre estas dos clases? Me pregunto si hay alguna optimización del rendimiento de la aplicación Android?
android.icu.math.BigDecimal
es parte de la biblioteca ICU (International Components for Unicode). Desde API 24 del marco de Android expone algunas de las clases ICU4J para su uso. La documentación de Android en Unicode y soporte de i18n estados:
Algunas clases en las
java
yandroid
los paquetes tienen equivalentes a los encontrados en ICU4J. Sin embargo, ICU4J a menudo proporciona un apoyo más amplio para los estándares y lenguajes.
No debe confundirse la cita anterior porque las clases UCI sí que residen en el android
paquete. Ellos fueron trasladados a android.icu
partir de com.ibm.icu
fin de conflictos evitar.
En lo que respecta BigDecimal
en particular: me encontré con una discusión en Internet , que llega a la conclusión de que BigDecimal
estaba disponible en la UCI antes de que estuviera disponible en Java y se conserva en la biblioteca con fines de compatibilidad.
En pocas palabras: usar cualquier aplicación que desee, pero java.math.BigDecimal
es menos probable que se obsoleto en el futuro.