Java代码double [] arrayObject = new double[data.length]作用咨询
代码功能解答
这行是Java的标准数组定义语法,你的两个猜想其实不冲突——Java中数组本身就是引用类型对象,这行代码做的事可以拆成几部分理解:
- 声明了一个可指向
double类型数组的引用变量,变量名为arrayObject - 在堆内存中创建了一个全新的
double类型数组实例,数组长度和现有data数组的长度(即data.length的返回值)完全一致 - 新创建的数组所有元素会自动初始化为
double类型的默认值0.0,不会自动拷贝data数组里存储的元素值
你可以参考拆分后的等价写法,两者运行逻辑完全一致:
// 先声明数组引用 double[] arrayObject; // 再初始化指定长度的新数组对象,赋值给前面声明的引用 arrayObject = new double[data.length];
注意:如果你的需求是生成一个和
data元素完全相同的副本数组,仅写这行是不够的,后续还需要通过循环遍历、Arrays.copyOf()或者System.arraycopy()等方式把data里的元素复制到新数组中。
内容的提问来源于stack exchange,提问作者user15048458
相关产品推荐
相关产品推荐

