Java 中比较 BigDecimals 的陷阱

2024-06-17

这篇文章探讨了 Java 中 BigDecimal 类的 equals() 方法在比较数值时可能出现的意外结果。equals() 方法比较的是 BigDecimal 的无标度值和标度,而不是数值相等性,这可能导致比较结果不一致。文章建议使用 compareTo() 方法进行数值比较,或者使用 stripTrailingZeros() 方法对 BigDecimal 进行规范化,以避免潜在的陷阱。