可能重复:
Why isn't there a java.lang.Array class? If a java array is an Object, shouldn't it extend Object?
我创建了一个数组说:
int a[] = new int[50];
此处,int
是原始数据类型,但在 java 中,数组是在运行时创建的,这意味着某个班级会有一个对象
那么,我想知道它们是哪个类对象以及在制作数组对象时背景进程发生了什么?
还有一件事我想知道,如果我想打印该数组的引用ID:
System.out.println(a);
然后输出是某种[I@17182c1
在这里,我知道 @ 之前的字符串是类名,而 @ 之后是哈希码。但是哪个班级是[I
?
如何创建[I
类以及从何处获得返回数组长度的变量length
?我没有在Java的整个 API 中找到类[I
,那么为什么编写器在我写的时候不显示错误:
System.out.println(a.length);
因为课程[I
将在运行时创建吗?