배열 복사를 쉽게 해보자
for(int i = 0; i <= arr.length - 1; i++) {
newArr[i] = arr[i];
}
특징
if (endIdx + 1 - startIdx >= 0) {
System.arraycopy(arr, startIdx, newArr, startIdx, endIdx + 1 - startIdx)
}
원본
특징
자바는 자체적인 System.arraycopy 메서드를 JNI(Java Native Interface)에 포함해서 효율적인 배열 복사 기능을 지원한다.
아울러 배열에서 리스트로 변경을 위한 Arrays.asList메서드도 제공한다.
이 두 메서드는 공통적으로 앞에서 나열한 방식에서 발생할 수 있는 불필요한 인스턴스 생성을 방지해 메모리 자원 낭비를 막고, 더 빠른 실행 속도를 보장한다는 장점이 있다.
가독성 측면에서도 단 한 줄의 소스코드로 배열을 복사할 수 있어 더욱 효율적이다.
(출처 : https://wikibook.co.kr/article/java-coding-with-pmd-usearraysaslist/)