[英]Comparing BigDecimal and int in Java
哪一個是比較Java中BigDecimal和int的最佳方法:將BigDecimal轉換為int或將int轉換為BigDecimal?
如果你期望BigDecimal
值真的很大(即在int
值的范圍之外,即-2 31到2 31 -1)和/或包含十進制數字,或者只是想要安全地玩,你應該轉換int
到BigDecimal
以避免溢出/截斷錯誤。
否則,如果性能是一個非常大的問題(很少見),反過來可能會更好。
您想將int
轉換為BigDecimal
。
這是因為您無法始終將BigDecimal轉換為int; 您將丟失小數點后的任何信息,並且BigDecimal的值可能超出int的范圍。
由於BigDecimal
擴展了int
的范圍,因此無論如何都必須將int
轉換為BigDecimal
以確保它們可以進行比較。
不將int轉換為BigDecimal的一個原因是你要創建一個新對象,因此你真的在堆上拋垃圾來執行相等。 此外,原始相等性也會比實際BigInteger對象上的更快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.