繁体   English   中英

Java多维数组被视为基元或对象

[英]Java multidimensional array considered a primitive or an object

int[][] matrix = new int[10][10]; 一个原始或它被认为是一个对象? 当我将它作为参数发送给函数时,它是否发送它的引用(如对象)或其值(如原语)?

每个Java数组都是一个Object。 将它作为参数传递时,将引用的副本传递给数组。

数组是对象。 数组数组也是对象。 Java本身并不具有多维数组,只支持数组数组。

int [][] foo = {{1}, {2,2}, {3,4,5}};
if (foo instanceof int[][]) { // can only use instanceof with objects
}
System.out.println(foo.getClass()); // has object methods

在java中,数组是完整的对象。 话虽如此,java中的所有原语和对象引用总是按值传递,而不是通过引用传递。 对于对象,对象引用按值传递。 这个和通过引用传递的差异是微妙但重要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM