簡體   English   中英

在Java中比較BigDecimal和int

[英]Comparing BigDecimal and int in Java

哪一個是比較Java中BigDecimal和int的最佳方法:將BigDecimal轉換為int或將int轉換為BigDecimal?

如果你期望BigDecimal值真的很大(即在int值的范圍之外,即-2 31到2 31 -1)和/或包含十進制數字,或者只是想要安全地玩,你應該轉換intBigDecimal以避免溢出/截斷錯誤。

否則,如果性能是一個非常大的問題(很少見),反過來可能會更好。

您想將int轉換為BigDecimal

這是因為您無法始終將BigDecimal轉換為int; 您將丟失小數點后的任何信息,並且BigDecimal的值可能超出int的范圍。

由於BigDecimal擴展了int的范圍,因此無論如何都必須將int轉換為BigDecimal以確保它們可以進行比較。

不將int轉換為BigDecimal的一個原因是你要創建一個新對象,因此你真的在堆上拋垃圾來執行相等。 此外,原始相等性也會比實際BigInteger對象上的更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM