【bug修复积累】关于包装类型和基本数据类型的使用
1) Double tapWaterFluorideAverage = fluorosisRemediationMapper.searchTapWaterFluorideAverage(currentYear); 从mysql查出可能为null,因此用Double接收,要注意xml文件中的returnType也需要是Double类型,以防报错2)
endemicFluorosisOverview.setTapWaterFluorideAverage(Math.round(tapWaterFluorideAverage * 100.0) / 100.0); ×
当要进行计算时,如果是null * 100,则会报空指针,因此我们计算时,因尽量使用基本数据类型计算。Double->double,防止Double为null,有两种方式转换:
方式1:
double dubiousTimes = Optional.ofNullable(tapWaterFluorideAverage).orElse(0);
方式2:
double value = tapWaterFluorideAverage != null ? tapWaterFluorideAverage : 0.0; endemicFluorosisOverview.setTapWaterFluorideAverage(Math.round(value * 100.0) / 100.0);