我是一名嵌入式工程师,使用 Java。我需要与设备通信,并且经常需要将缓冲区按摩成某些硬件需要或产生的形式。
我花了相当多的时间搜索网络(和这个站点)来寻找如何将字节缓冲区视为更大元素的缓冲区的答案。有很多响应,但它们总是归结为 (1) 使用 ByteBuffer 或 (2) 手动进行转换。
问题是,不需要转换......底层字节数组包含有效的短裤,具有正确的字节顺序。我不希望将字节数组复制到相同的短裤数组的费用。我要做的就是说服 Java 编译器将它们视为我感兴趣的类型。
我对 ByteBuffer 没有太多经验,但我是我走的第一条路。我发现如果我有一个 ByteBuffer 并且我调用它的 asShortBuffer() 函数,则生成的 ShortBuffer 没有后备数组......我不能在它上面调用 array() ,这是我需要的。
有什么想法吗?