String判断为空的方式

今天遇到的笔试题:面试

//这样的判空方式是否正确
if(!str.equals("")&&str!=null)

以前我一直都是这么写的,哪知道有什么问题呀,而后面试官就教我了。spa

//若是str原本就为空,这样写是会报错的,连内存地址都没有
!str.equals("")

会不会报错我也没注意过,可是这样写逻辑上也是有问题的,正确的写法应该是先判断不为空了才能够判断不为空字符串:code

if(str!=null){
    if(!str.equals("")){
    //~~~~  
  }
}
相关文章
相关标签/搜索