今天遇到的笔试题:面试
//这样的判空方式是否正确 if(!str.equals("")&&str!=null)
以前我一直都是这么写的,哪知道有什么问题呀,而后面试官就教我了。spa
//若是str原本就为空,这样写是会报错的,连内存地址都没有 !str.equals("")
会不会报错我也没注意过,可是这样写逻辑上也是有问题的,正确的写法应该是先判断不为空了才能够判断不为空字符串:code
if(str!=null){ if(!str.equals("")){ //~~~~ } }