Debug模式下产生的数值异常
当我不在evaluate中输出quantity的值时一切正常
当我这样做之后
执行到这时 直接获取就变成这样,并且这个值和数据库中的某个值保持一致(后续要将数据库的值赋予给这个字段),修改数据库时这个值也会保持一样的变化,意思是只要我在控制台尝试输出这个值,会直接走完后续对这个字段的赋值操作,但此时代码并没有执行到这。
初步猜测:BigDecimal的tostring方法使用了stringcache缓存,调试器在展示对象值的时候,通过特殊方式调用了toString()方法,污染了stringCache缓存,但是不理解的是为什么会直接走完后续代码对这个值的操作。