Можно создать дубликат:
Make copy of array JavaКак скопировать массив по значению в Java?
Я новичок в Java, и мне нужно, чтобы скопировать содержимое одного массива в другой переменной. Однако Java всегда передает массив по ссылке вместо значения.
Вот что я имею в виду, если это вводит в заблуждение:
int test[]={1,2,3,4};
int test2[];
test2=test;
test2[2]=8;
for(int i=0;i<test2.length;i++)
System.out.print(test[i]); // Prints 1284 instead of 1234
В этом примере я не хочу значение test
изменить. Возможно ли это без использования каких-либо более продвинутых функций Java, таких как ArrayList и Vectors?
Редактировать: Я попробовал System.ArrayCopy и test.clone(), но они все еще не работают. Вот мой фактический код:
temp_image=image.clone();
for(int a=0;a<image.length;a++)
for(int b=0;b<image[0].length;b++)
image[a][b]=temp_image[image.length-1-a][b];
В основном я пытаюсь перевернуть «образ» с ног на голову. Есть ли ошибка в коде?
System.arraycopy: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html –
@LuiggiMendoza вы можете начать использовать более последние JavaDocs; [Java 1.4 - 3 версии (10 лет) позади] (http://en.wikipedia.org/wiki/Java_version_history). –
Несомненно, есть 2000 точных копий этого? –