Java 当我们尝试使用';新';

Java 当我们尝试使用';新';,java,arrays,constructor,new-operator,Java,Arrays,Constructor,New Operator,当我们尝试执行以下操作时,将调用哪个构造函数: int[]arr=newint[10] 据我所知,每次使用关键字new,都会在堆内使用相应类的构造函数创建一个对象,并将其地址返回到引用变量 我的问题是,;因为布尔、字节、短字符、字符、整数。。。。都是原语,没有内置类或构造函数(至少我在src.zip中找不到) 当我们尝试使用new创建它们的数组时,会返回什么对象?该对象是如何创建的?在Java中是一个对象 原语数组中的值初始化为各自的默认值(例如,0表示int,0.0表示double,等等) 对

当我们尝试执行以下操作时,将调用哪个构造函数:

int[]arr=newint[10]

据我所知,每次使用关键字
new
,都会在堆内使用相应类的构造函数创建一个
对象
,并将其地址返回到引用变量

我的问题是,;因为布尔、字节、短字符、字符、整数。。。。都是原语,没有内置类或构造函数(至少我在src.zip中找不到)

当我们尝试使用
new
创建它们的数组时,会返回什么对象?该对象是如何创建的?

在Java中是一个对象

原语数组中的值初始化为各自的默认值(例如,0表示int,0.0表示double,等等)


对象数组中的值初始化为指向空引用,直到您指定它们。

它不是类的实例,而是数组的实例。数组是内置的数据结构,不提供构造函数。@f1sh您能为我提供任何类型的文档供您回答使用哪个类的构造函数吗?您没有阅读前面的注释吗?我读过,您能给我链接任何关于同一类的文档吗?其他人已经读过了,如果我没记错的话,我看不到,你能把它贴在这里吗?
boolean[] b = new boolean[10];
byte[] by = new byte[10];
short[] s = new short[10];
char[] ch = new char[10];
int[] i = new int[10];
long[] l = new long[10];
float[] f = new float[10];
double[] d = new double[10];