数组长度为零和空引用的区别 files!=null&files.length()>0空指针或赋空值

xiaoxiao2021-02-28  97

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

数组初始化为总结为两种: 空指针:数组=null 空嘛,是真的空,连地址都没分配 赋空值:数组={}; 就是没内容,但是有分配空间,长度为0,有地址


public class TestArray { public static void main(String[] args) { //【null初始化 不分配地址】 //使用语句数组必须要 初始化,用null初始化,JVM不会为数组A分配地址 //数组.toString()会返回地址的哈希值;所以A.toString();不存在! //A.length不存在 !会报错 String[] A = null; //【空白初始化 length=0 但是分配地址】 //所以会有数组的一切特征 B.length=0; B.toString()=[Ljava.lang.String;@7150bd4d; String[] B={}; System.out.println("A没有地址 所以也没有长度地址属性 只能用来判断是否是空:"); System.out.println("*** A==null结果为:"+(A==null)); System.out.println("B没有内容 但是有地址 所以有长度地址属性"); System.out.println("*** B的长度:"+B.length+" B的地址:"+B.toString()); } }
转载请注明原文地址: https://www.6miu.com/read-23391.html

最新回复(0)