//设备异常数
int abnormal = inspectionDetailedMapper.findAbnormal(countVo.getRecordId());
boolean isOk = inspectionCountVo.getAnswernumber() == inspectionCountVo.getRealnumber();
inspectionCountVo.setAbnormal(abnormal == 0 ? ( isOk ? 0 : null) : abnormal);
最后一行报空指针 出现空指针时abnormal 和isOk 两个对象都不为空
原因分析
三目运算符中有一个魔法数字 0 这个0是java的基本类型 也就是int类型 从而导致三目运算符?后面的数据类型变为int类型 所以如果为null 就出现了一个空指针异常