int[][] matrix = new int[10][10];
是原始的还是被视为对象?当我将它作为参数发送给函数时,是否发送它的引用(如对象)或其值(如原语)?
答案 0 :(得分:6)
每个Java数组都是一个Object。将它作为参数传递时,将引用的副本传递给数组。
答案 1 :(得分: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
答案 2 :(得分:2)
在java中,数组是完整的对象。话虽如此,java中的所有原语和对象引用总是按值传递,而不是通过引用传递。对于对象,对象引用按值传递。这个和通过引用传递的区别是微妙但重要的。