开发者社区> 问答> 正文

java.lang.NullPointerException?报错

public BigDecimal getServiceCharge() {
 if (!BigDecimal.ZERO.equals(price)) {
  if (BigDecimal.valueOf(ServiceChargeScala._200000).compareTo(price) <= 0) {
   serviceCharge = price.multiply(BigDecimal.valueOf(ServiceChargeScala._0_03));
  } else {
   serviceCharge = price.multiply(BigDecimal.valueOf(ServiceChargeScala._0_05));
  }
 }
 return serviceCharge;
}

ServiceChargeScala._200000是常量20W

红色这一行一直报错,帮我检查下

展开
收起
爱吃鱼的程序员 2020-06-05 15:36:29 581 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <p>楼主代码中的变量 price 的数据类型应当是 BigDecimal。此变量尚未初始化,就调用了方法 public BigDecimal getServiceCharge()。因此导致运行时出现 java.lang.NullPointerException 的错误信息。 </p>
                    
    
                            price是数据库里的值,商品的价格  不能任意给他赋值,我加了非空判断  问题解决了  谢谢
    
    2020-06-05 15:36:48
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载