¿Por qué BigDecimal ("5.50") no es igual a BigDecimal ("5.5") y cómo solucionar este problema?
En realidad, he encontrado una posible solución.
//returns true
new BigDecimal("5.50").doubleValue() == new BigDecimal("5.5").doubleValue()
Por supuesto, se puede mejorar con algo comoMath.abs (v1 - v2) < EPS
para hacer la comparación más robusta, pero la pregunta es si esta técnica es aceptable o hay una mejor solución?
Si alguien sabe por qué los diseñadores de Java decidieron implementar los iguales de BigDecimal de esa manera, sería interesante leerlo.