BigDecimal的add方法不生效的问题?

ythluo 2016-11-27 09:53:04
Map<String,BigDecimal> gzjgzhjMap = new HashMap<String,BigDecimal>();
gzjgzhjMap.put("xx",new BigDecimal("20") );
gzjgzhjMap.get("xx").add(new BigDecimal(10));
为啥上述程序的add不生效呢,最后的gzjgzhjMap.get("xx")输出还是20? 如果要生效,要如何写这段代码?
...全文
2050 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Intboy 2016-11-28
  • 打赏
  • 举报
回复
引用 2 楼 m2200 的回复:
说的直白点,第三行代码你需要这样:
gzjgzhjMap.put("xx",gzjgzhjMap.get("xx").add(new BigDecimal(10)) );	
你需要把add后的结果返回给原来的变量,因为add方法返回的BigDecimal对象才是运算后的结果。
正解
伯恩dadi 2016-11-28
  • 打赏
  • 举报
回复
楼上正解,顶上去
爱睡觉的阿狸 2016-11-27
  • 打赏
  • 举报
回复
说的直白点,第三行代码你需要这样:
gzjgzhjMap.put("xx",gzjgzhjMap.get("xx").add(new BigDecimal(10)) );	
你需要把add后的结果返回给原来的变量,因为add方法返回的BigDecimal对象才是运算后的结果。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧