6 ответов:
вы можете попробовать
System.arraycopyили использовать функции массива вArraysклассjava.util.Arrays.copyOf. Оба должны дать вам родную производительность под капотом.массивы.copyOf, вероятно, благоприятен для читаемости, но был представлен только в java 1.6.
byte[] src = {1, 2, 3, 4}; byte[] dst = Arrays.copyOf(src, src.length); System.out.println(Arrays.toString(dst));
если вы просто хотите получить точную копию одномерного массива, используйте
clone().byte[] array = { 0x0A, 0x01 }; byte[] copy = array.clone();для других операций копирования массива используйте
System.arrayCopy/Arrays.copyOfкак говорит о том.в общем,
cloneследует избегать, но это исключение из правил.
Java на самом деле имеет что-то вроде memcpy(). Небезопасный класс имеет метод copyMemory (), который по существу идентичен memcpy (). Конечно, как и memcpy (), он не обеспечивает защиту от наложения памяти, уничтожения данных и т. д. Неясно, действительно ли это memcpy () или memmove (). Он может быть использован для копирования с фактических адресов на фактические адреса или из ссылок на ссылки. Обратите внимание, что если используются ссылки, вы должны предоставить смещение (или JVM умрет как можно скорее).
небезопасно.copyMemory () работает (до 2 ГБ в секунду на моем старом уставшем ПК). Используйте на свой страх и риск. Обратите внимание, что небезопасный класс не существует для всех реализаций JVM.
Comments