2

我看到没有问题,专门回复这个参数组合:

Java + memcpy + 指针。

我的 C/C++ 背景可能对我有偏见。在 C++ 中,我可以这样做:

memcpy (Destination, Source, length_data);

Destination 和 Source 可以只是两个内存位置。有没有办法在 Java 中使用原始类型的数组来做到这一点?

所有的实现

Arrays.copyOf
Arrays.copyOfRange

基本上做了一半的工作。从某种意义上说,您可以指定数据量或给定范围,但它们都返回一个数组,它们不会修改现有数组。

提前致谢。

4

3 回答 3

3

System.arraycopy(src, srcPos, dest, destPos, length)

于 2012-06-20T10:21:55.127 回答
0

Java 没有 C/C++ 那样的指针。

有 System.arraycopy(); 看看javadocs。

于 2012-06-20T10:22:05.300 回答
0

您可以使用System.arraycopy()修改现有数组

如果 src 和 dest 参数引用同一个数组对象,则执行复制,就好像首先将位置 srcPos 到 srcPos+length-1 的分量复制到具有长度分量的临时数组,然后临时数组的内容是通过目标数组的 destPos+length-1 复制到位置 destPos。

当然,鉴于 Java 中缺少指针,这不是一个完美的类比操作。

于 2012-06-20T10:23:02.480 回答