손영배 블로그 누구나 쉽게 이해하고 습득하기

Java 배열copy System.arraycopy() 본문

Java

Java 배열copy System.arraycopy()

손영배 2019. 4. 23. 23:06
		int arr [] = {1,2,3,4,5};
		int tmp [] = new int[5];
		
		//System.arraycopy(src, srcPos, dest, destPos, length);
		System.arraycopy(arr, 0, tmp, 0, arr.length);
		
		for(int num : tmp) {
			System.out.println(num);
		}

 

src : 매개값은 원본 배열이고

srcPos :  원본 배열에서 복사할 항목의 시작 인데스

dest : 매개값은 새 배열이고

destPos : 새 배열에서 붙여넣을 시작 인덱스이다

length : 복사 할 개수

 

	System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
	System.arraycopy(arr1, 0, arr2, 0, arr1.length);

 

 

참조 타입 배열일 경우, 배열 복사가 되면 복사되는 값이 객체의 번지이므로 새 배열의 항목은 이전 배열의 항목이 참조하는 객체와 동일하다. 이것을 얕은 복사(shallow copy)라고 한다. 반대로 깊은 복사 (deep copy)는 참조하는 객체도 별도로 생성하는 것을 말한다.