场景:
数据库price数据类型为decimal,实体类A中price数据类型为BigDecimal,当需要使用equals方法比较前端传过来的a1对象与数据库查询出来的a2对象时,就算对象属性一样,结果均为false;
原因
经过debug发现,前端传过来对象a1经过json转换,price值为0.1,而数据库查询出来的a2对象price值为0.1000,使用alt+insert生成的equals方法调用的BigDecimal的equals方法;
BigDecimal a = new BigDecimal("1.0");
BigDecimal b = new BigDecimal("1.00");
System