Integer在使用数量计算时,如果数值过大,会引起越界问题,如图 :
30bdde46122b7821c7519b89cc72992-b37fda38533d48e696a54770c43b97f1....png
在进行金额计算时,一定要全部使用BigDecimal,否则可能会出现计算金额与实际金额不一致的情况
因为使用了Integer进行计算,导致超过21亿(2147483647)以上的金额出现负数...,或者可能会出现与原金额不一样的正数,导致支付金额与原指令的交易金额发生差异,出现错账,是很大的教训.