Eu enfrentei java.math.BigDecimal
e android.icu.math.BigDecimal
como eu preciso usar BigDecimal
no projeto.
Eu percebi que o Android BigDecimal
requer nível API 24
Qual é a diferença entre essas duas classes? Gostaria de saber se há alguma otimização de desempenho na implementação Android?
android.icu.math.BigDecimal
faz parte da biblioteca ICU (International Components for Unicode). Desde API 24 do quadro Android expõe algumas das classes ICU4J para você usar. A documentação do Android em Unicode e apoio I18N estados:
Algumas classes nos
java
eandroid
pacotes têm equivalentes aos encontrados em ICU4J. No entanto, ICU4J muitas vezes fornece suporte mais amplo para padrões e idiomas.
Não pode ser confundido pela citação acima porque as classes de UTI fazer residem no android
pacote. Eles foram transferidos para android.icu
partir com.ibm.icu
, a fim de conflitos a evitar.
No que diz respeito BigDecimal
em especial: eu encontrei uma discussão na internet que conclui que BigDecimal
estava disponível na UTI antes ele estava disponível em Java e é mantido na biblioteca para fins de compatibilidade.
Bottom line: use qualquer aplicação que você gosta, mas java.math.BigDecimal
é menos provável de ser obsoleto no futuro.