2

例子

short size = 1234;
    byte[] payload = {12,43, 55,123, 11, 55};

byte [] shortSize = ByteBuffer.allocate(2).putShort(size).array();
byte[] entirePayload = new byte[shortSize.length+payload.length];   

System.arraycopy(shortSize, 0, entirePayload, 0, 2);
System.arraycopy(payload, 0, entirePayload, 2, payload.length);

这是 Java 系统调用是否有根本原因?

4

1 回答 1

6

也许arraycopy会更适合 . java.util.Arrays,但是直到 Java 1.2 才添加该类,而arraycopy在 Java 最开始时就存在。System似乎是放置它的下一个最佳位置。

另请注意,此方法是在本机代码中实现的,以使其更快,因此有点特殊。

于 2013-02-08T19:47:47.823 回答