Несколько интересных наблюдений относительно оператора равенства для 0 и 0,0
new Double(0.0).equals(0)
возвращает false, а new Double(0.0).equals(0.0)
возвращает true
BigDecimal.ZERO.equals(BigDecimal.valueOf(0.0))
возвращает false, а BigDecimal.ZERO.equals( BigDecimal.valueOf(0))
возвращает true.
Похоже, сравнение строк выполняется в обоих случаях. Кто-нибудь может пролить свет на это.
Спасибо.