String [] resurt= this.test.Check(bean,dataMap);
if(!resurt[0].equals("1")){ // 1表示通过验证
logger.error("验证不通过!");
throw new Exception("验证不通过");
}
从以上代码中,我相信大家都已经看出隐患了吧,也就是说如果resurt[0]的值为null时,即!null.equals(“1”),遇到这种情况,我就呵呵了,经检测这种情况会报NullPointerException也就是空指针异常!那么该怎么改比较好呢???
很简单!有两种改法:
第一种:
String [] resurt= this.test.Check(bean,dataMap);
if(!"1".equals(resurt[0]){ // 1表示通过验证
logger.error("验证不通过!");
throw new Exception("验证不通过");
}
第二种:
如果业务场景对null的值不做判断或者另作判断时,可以一开始对resurt[0]的结果进行一个初步判断,即加上if(resurt[0] != null && !resurt[0]).equals(""))这样的语句,这样就会过虑了空值和空字符串了。其次如果你还想对null值和空字符串进行判断时,可以在if下面再加个else进行判断
String [] resurt= this.test.Check(bean,dataMap);
if(resurt[0] != null && !resurt[0]).equals("")){
if(!"1".equals(resurt[0]){ // 1表示通过验证
logger.error("验证不通过!");
throw new Exception("验证不通过");
}
}else{
..........这里可以根据需求做进一步的判断................
}