손영배 블로그 누구나 쉽게 이해하고 습득하기
Java 배열copy System.arraycopy() 본문
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)는 참조하는 객체도 별도로 생성하는 것을 말한다.
'Java' 카테고리의 다른 글
Java Collection sort 쓰는 방법 (0) | 2019.10.18 |
---|---|
Java 접근제한자 정리 (0) | 2019.05.12 |
참조변수 비교연산은 주소값끼리의 비교다, NullPointerException,String (0) | 2019.04.23 |
자바 메모리 사용 영역 (0) | 2019.04.23 |
자바 데이터 타입 분류 (0) | 2019.04.23 |