Java многомерный массив считается примитивом или объектом - PullRequest
3 голосов
/ 10 марта 2012

int[][] matrix = new int[10][10]; примитив или он считается объектом? Когда я отправляю его в качестве параметра функции, он отправляет ссылку (как объект) или значение (как примитив)?

Ответы [ 3 ]

6 голосов
/ 10 марта 2012

Каждый массив Java является объектом.Когда вы передаете его в качестве аргумента, вы передаете копию ссылки в массив.

5 голосов
/ 10 марта 2012

Массивы - это объекты. Массивы массивов также являются объектами. У 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 голосов
/ 10 марта 2012

В Java массивы - это полноценные объекты.Тем не менее, все примитивы и ссылки на объекты в Java всегда передаются по значению, а не по ссылке.В случае объектов, объект ссылка передается по значению.Разница между этим и передачей по ссылке неуловима, но значительна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...