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