java如何识别数组的结尾?

java如何识别数组的结尾?,java,Java,如果有人创建了一个包含0个元素的数组,java会不会只是生成一个不指向任何地方的堆栈变量?如果我们用1个元素组成一个数组,那么数据结构实际上包含1个元素或类似于C++的最后一个(界外)点,它包含“\\ 0”? int array[] = new int[0]; 虽然它里面没有元素,但您只是在heap/stack中创建了一个名为array的数组对象 为了识别数组的结尾,有一个属性称为数组对象的长度 图像源和关于数组的更多信息:Java数组具有存储数组长度的length属性。内存方面,数组对象由

如果有人创建了一个包含0个元素的数组,java会不会只是生成一个不指向任何地方的堆栈变量?如果我们用1个元素组成一个数组,那么数据结构实际上包含1个元素或类似于C++的最后一个(界外)点,它包含“\\ 0”?
int array[] = new int[0];
虽然它里面没有元素,但您只是在heap/stack中创建了一个名为
array
的数组对象

为了识别数组的结尾,有一个属性称为数组对象的长度


图像源和关于数组的更多信息:

Java数组具有存储数组长度的
length
属性。内存方面,数组对象由对象头、长度值和数组值组成,但这只是概念上的,因为JVM可以自由地以任何方式将对象存储在内存中。Java不会以零值结束数组或字符串。是的,
newint[0]
提供了对数组的引用。通常每个数组都有一个内部长度字段。在C++中,仅针对char数组,即字符串,最后一个点包含“0”,而不是在任何其他类型的数组中,即整数、浮点等。在java中,没有“0”的概念。
 System.out.println(array.length); // array element count