如何在Swift中实现java Arraycopy?
问题描述:
Java的arraycopy
的定义是在这里: Java arraycopy如何在Swift中实现java Arraycopy?
我的Java代码如下:
public byte[] getRawData() {
byte[] raw = new byte[value.length + 4];
//little endian defined by fido spec
raw[0] = (byte) (tag);
raw[1] = (byte) (tag>>8);
raw[2] = (byte) (len);
raw[3] = (byte) (len>>8);
System.arraycopy(value, 0, raw, 4, value.length);
return raw;
}
这里是我的银行代码:
public func getRawData() -> [UInt8] {
var raw = [UInt8(value.count + 4)]
raw[0] = UInt8(tag)
raw[1] = UInt8(tag>>8)
raw[2] = UInt8(len)
raw[3] = UInt8(len>>8)
// The place the put swift arraycopy
return raw
}
有没有类似的功能arraycopy
在迅速。我该如何正确地重新实现这个功能?
答
你可以使用雨燕的slice
达到相同的结果Java的arraycopy
:
var src = [0, 1, 2, 3]
var dst = [4, 5, 6, 7, 8, 9]
dst[1...4] = src[0...3]
print(dst) // [4, 0, 1, 2, 3, 9]
注:这不处理边界检查。
谢谢!!,我想我不认识java中的arraycopy。 – HungCLo