首页 > 解决方案 > 相当于 Dart 中的 Java System.arraycopy?

问题描述

如何将下面的 java 代码转换为等效的 dart。

private static final byte[] mIdBytes = new byte[]{(byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x7E};

byte[] data;

System.arraycopy(mIdBytes, 2, data, 0, 4);

有没有做类似操作的 Dart 方法?

我正在研究这个: https ://pub.dev/documentation/ckb_dart_sdk/latest/ckb-utils_number/arrayCopy.html

标签: dart

解决方案


要匹配 Java System.arrayCopy(source, sourceOffset, target, targetOffset, length) ,您应该使用

 target.setRange(targetOffset, targetOffset + length, source, sourceOffset);

这比List.copyRange用于某些列表更有效,例如在具有相同元素大小(如两个Uint8Lists)的类型数据列表之间进行复制。


推荐阅读