memcpy +指针+ java

时间:2012-06-20 10:20:11

标签: java arrays memcpy

我已经看到毫无疑问,专门回复这些参数组合:

Java + memcpy +指针。

我的C / C ++背景可能会让我感到偏见。 在C ++中,我可以这样做:

memcpy (Destination, Source, length_data);

和目标和源只能是两个内存位置。 有没有办法在Java中使用基本类型数组?

的所有实现
Arrays.copyOf
Arrays.copyOfRange

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

提前致谢。

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

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

有System.arraycopy();看看javadocs。

答案 2 :(得分:0)

您可以使用System.arraycopy()

修改现有数组
  

如果src和dest参数引用相同的数组对象,那么   执行复制就好像位于srcPos的位置处的组件一样   首先将srcPos + length-1复制到具有length的临时数组   组件然后复制临时数组的内容   到目的地的destPos + length-1的destPos位置   阵列。

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