怎么判断数组是null还是空??数组空是指数组中没有元素??数组null是数组中元素都是0??
2个回答
展开全部
数组为null:是创建了数组的引用,但在堆中并没有数组中的元素
例:
int[] array1 = null;
array1是数组类型的空引用,栈中名为array1的内存空间没有存放任何地址。
数组为空:数组是空其实就是数组的长度为0,数组是真正的对象,只是对象中没有元素,也就是说里面没有内容
例:
int[] array = {};
此时创建了数组,数组的长度为0,是一个空数组,但是array不是null,它也是一个对象,只不过它的元素个数为0。
判断数组为空,使用array.length0可以。
但arraynull不可以,这种会报错,Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: -1
直接使用变量名==null
例:
String[ ] arr = null;
if(arr == null){…}
例:
int[] array1 = null;
array1是数组类型的空引用,栈中名为array1的内存空间没有存放任何地址。
数组为空:数组是空其实就是数组的长度为0,数组是真正的对象,只是对象中没有元素,也就是说里面没有内容
例:
int[] array = {};
此时创建了数组,数组的长度为0,是一个空数组,但是array不是null,它也是一个对象,只不过它的元素个数为0。
判断数组为空,使用array.length0可以。
但arraynull不可以,这种会报错,Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: -1
直接使用变量名==null
例:
String[ ] arr = null;
if(arr == null){…}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询