Я определил int[][]
объект.Поскольку это объект, если я отправлю его методу в качестве параметра, он отправит только свою ссылку, поэтому любые изменения массива в методе будут влиять на него в основной программе.Поэтому я хотел бы сделать клон этого объекта внутри метода, но я не уверен, как это сделать.
Я думал о чем-то вроде этого:
private void myMethod( int[][] array )
{
//Define our temporary array (clone)
int[][] newArray = new int[3][3];
//Go through the elements of the array
for .... row = 0; row < ..; row++
for ..... col = 0; col < ..; col++
//Copy individual elements from one array to another
newArray[row][col] = array[row][col];
}
, ноПриведенный выше код скопирует каждый элемент из массива в newArray как значение (т. е. клон элемента) или просто ссылку?
Если это так, как это можно сделать.Если бы я использовал ArrayLists вместо int[][]
объектов, есть метод clone () или что-то в этом роде, но у меня нет этого метода для int[][]
объектов: (
Кроме того, если яЯ не ошибаюсь, если я сделаю это внутри метода newArray = array
, который снова скопирует только ссылку, поэтому оба будут указывать на один и тот же int[][]
объект: (
PS Я знаю, я мог бы просто проверить этоНо я бы хотел немного обсудить это с вами, ребята, и посмотреть, что именно.