怎么判断数组是null还是空??数组空是指数组中没有元素??数组null是数组中元素都是0??

如题所述

数组为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){…}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
(1)对于byte 、short 、int 、long、double类型的初始值默认是0;
float默认是0.0,
String默认是null。
(2)是的. 而“ ”本身是一个实例,有自己的对象空间,注意:此时虚拟机已经给它分配了内存,只不过是值为0而已。
(3)不是的. null用来表示一个引用没有实例存在,即虚拟机没有给它分配内存.本回答被提问者采纳
相似回答