最近经常在做表单数据提交的处理,所以经常要对提交的数据进行格式检查,而非空判断在这里就是必不可少的了。
但是有时候需要值比较和非空在一起判断的话就需要格外注意了(我这里问题出现在取表单select标签的value值)
在这种情况下有时候明明做了详细的非空判断还是会出现空指针异常,这里总结了几个小tips:
经常非空判断是这样的:
if(data != null && data=="0"){
//逻辑处理
}
这样做不会出现问题,
而有时候不经意间这样写:
if(data=="0" && data != null){
//逻辑处理
}
大眼一看,好像是没有问题,实际上已经埋下了空指针的隐患,如果data为null,那么在 data==“0” 条件中就出现了空指针操作!!
这里虽然很简单,但也很容易让人忽略!!
对于常规的仅仅做非空判断的话可以这么写:
if(!"".equals(data) && data != null){
//逻辑处理
}
if(data != null && "".equals(data)){
//逻辑处理
}
这两种都可以不会出现什么问题。