JAVA Basic 강의자료] 배열의 복사
JAVA Basic 강의자료] 배열의 복사
실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.
배열의 복사
*배열 복사의 의미 및 방법
-객체는 값의 할당을 원칙으로 함.
-배열은 객체임. 일반적인 방법으로 복사되지 않음.
-배열 복사의 두 가지 방법
:System.arrayCopy()메서드 이용
-Object클래스의 clone()메서드 이용
:메모리를 복사하여 Object형 객체 리턴
:원래 타입으로 다운캐스팅 필요
*System.arrayCopy()복사
-System.arrayCopy()메서드를 이용한 배열의 복사
<소스코드>
// ArrayCopyTest.java
public class ArrayCopyTest {
public static void main(String[] args) {
int[] mydream = new int[]{5, 4, 6, 9, 7, 9};
int[] mytarget = {100, 200, 300, 400, 500, 600,700};
System.arraycopy(mydream, 2, mytarget, 3, 4);
for(int i=0; i<mytarget.length; i++) {
System.out.println("mytarget["+i+"] : " + mytarget[i]);
}
}
}
*배열의 길이를 알아내는 방법
-배열이름.length
-예) Mytarget.length
*clone()을 사용한 배열복사
-객체를 복사하는 clone()메서드를 사용한 배열 복사
<소스코드>
// ArrayCloneTest.java
public class ArrayCloneTest {
public static void main(String[] args) {
int[] mydream = new int[]{5, 4, 6, 9, 7, 9};
int[] mytarget = (int[])mydream.clone();
for(int i=0; i<mytarget.length; i++)
{
System.out.println("mytarget["+i+"] : " + mytarget[i]);
}
}
}
==================
*Clone()메서드로 객체복사 시 주의점
C-loneable인터페이스 구현필요
:배열은 이미 구현되어 쓸 구현 필요 없음
*배열의 길이를 알아내는 방법
-배열이름.length
-예) Mytarget.length
'자바 > Java공부하기' 카테고리의 다른 글
JAVA Basic 강의자료] 배열참조 (0) | 2016.08.08 |
---|---|
JAVA Basic 강의자료] 객체 배열 (0) | 2016.08.05 |
JAVA Basic 강의자료] 배열의 초기화 (0) | 2016.08.05 |
JAVA Basic 강의자료] 배열의 선언 (0) | 2016.08.05 |
JAVA Basic 강의자료] 배열이란? (0) | 2016.08.05 |