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

And*_*dan 3 java parameters primitive object multidimensional-array

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

JB *_*zet 6

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

  • 如上所述,数组/对象通过引用副本传递.具体示例:http://stackoverflow.com/a/333217/879167 (2认同)

Ada*_*dam 5

数组是对象.数组数组也是对象.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
Run Code Online (Sandbox Code Playgroud)