Java新手小白求教,以下代码推荐使用哪个,区别是什么
byte[] bytes = new byte[0];
byte[] bytes = null;
byte[] bytes = new byte[0]; 表示定义了byte类型数组,但是数组的长度为0,在堆区有地址值
而byte[] bytes = null; 堆区没地址值,因为数组的长度不能改变,所以这样的语句毫无意义
空箱子和没有箱子的区别
数组是定长的,定义出来几个,就只能存几个元素;
比如你第一个byte[] bytes = new byte[0]; 你定义了一个长度为0的数组,是存不进元素的(如果你代码中有这样的定义,可能是为了防止空指针);
第二个你给数组等于null,下边不赋值也是不能用的
byte[] bytes = null;
bytes = new byte[3];
变量要声明加赋值才可以使用
null是不存在,而[0]是jvm已经为其开辟了一片内存空间了