본문으로 바로가기

   

 

copyOf() 메소드

- 전달받은 배열의 설정한 길이만큼 새로운 배열로 복사하여 반환합니다.

- 첫 번째 매개변수로 원본 배열을 전달하고, 두 번째 매개변수로 원본 배열에서 새로운 배열로 복사할 요소의 개수를 전달 받습니다. 

- 만약 새로운 배열의 길이가 기존의 배열보다 길면, 나머지 요소는 배열 요소의 타입에 맞게 다음과 같은 기본값으로 채워집니다.

- copyOf() 메소드를 사용하기 위해서는 Arrays 클래스를 임포트해야 합니다.

 

 

아래의 예제 코드를 통하여 살펴보도록 하겠습니다.

package com.company;

import java.util.Arrays;

public class Main{
    public static void main(String args[]) {
        int[] arr1 = {1, 2, 3, 4, 5};
        int[] arr2 = Arrays.copyOf(arr1, 3);

        for(int i=0; i<arr2.length; i++) {
            System.out.print(arr2[i] + " ");
        }
        System.out.println();

        int[] arr3 = Arrays.copyOf(arr2, 10);
        for(int i=0; i<arr3.length; i++) {
            System.out.print(arr3[i] + " ");
        }
    }
}

 

 

출력 결과

 

arr2가 arr1의 3자리까지만 복사하고 그 이후에는 0이 출력되었네요.

아마도 새로운 배열의 길이가 원본의 배열 길이보다 길어서 그렇겠죠?