Java 5에서 실행 가능한 소스 코드가 있습니다. 유감스럽게도이 코드는 Java 6에서만 도입 된 Arrays.copyOfRange 함수를 사용합니다. 가장 효과적인 방법은 무엇입니까? Java 5 API 만 사용하여 동일한 유틸리티를 구현합니까?Arrays.copyOfRange Java 6에서 Java 5로 이식하기
1
A
답변
1
오픈 소스 Java 인 OpenJDK 6 page을 확인하십시오. 직접 소스 코드를 다운로드하여 읽고 어떻게 구현되는지 알아볼 수 있으며 앱에 기능을 수동으로 추가 할 수 있습니다.
0
가장 빠른 방법은 System.arraycopy
입니다. 그것은 Arrays 클래스에 의해 수행됩니다.
4
여기 intrested하는 사람들을 위해 오픈 JDK의 코드를 간다 : 아이디어에 대한
public static byte[] copyOfRange(byte[] original, int from, int to) {
int newLength = to - from;
if (newLength < 0)
throw new IllegalArgumentException(from + " > " + to);
byte[] copy = new byte[newLength];
System.arraycopy(original, from, copy, 0,
Math.min(original.length - from, newLength));
return copy;
}
감사합니다, 나는 구현을 발견했다. –
니스! OpenJDK는 잠시 동안 사용되어 왔으며 더 잘 이해하고 싶은 컨셉을 읽는 데 좋습니다. – jefflunt