String判断为空的方式

今天遇到的笔试题:

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

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

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

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

if(str!=null){
    if(!str.equals("")){
    //~~~~  
  }
}

 

posted @ 2018-06-08 14:48  胖丑宽的Java日记  阅读(259)  评论(0编辑  收藏  举报