即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

数组长度为零与空引用的不同点 files!=null&files.length()>0

编程语言 evanxuhe 14℃ 0评论

在判断非空的时候 常常用到files!=null&files.length()>0 那么很多人好奇长度等于0不就是空吗


其实不然,比如

  • String[] a=new String[0] 或者String[] b={} 长度为0 但是不为空
  • String[] a=null 指向空指针时 ==null才成立

因此两者都要预防,那么这两种情况什么时候会出现呢?


比如我做了个循环调用遍寻子文件的代码

File[] files=dir.listFiles();
if(files.length>0&files!=null){
for (File file : files) {
//如果还是目录 循环引用继续搜索子目录下的目录
            if(file.isDirectory()){
                listFile(file);
            }else{
                //如果是文件 停止循环引用 输出文件名
                System.out.println(file);
            }
        }
        }else {
            System.out.println(dir+"下内无文件");
        }

其中有个EmptyDir的空文件夹 遍寻到这个文件夹时


files这个File类型的数组长度就是0 如果只写files!=null还是会通过

转载请注明:CodingBlog » 数组长度为零与空引用的不同点 files!=null&files.length()>0

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情