我只是这篇文章中的答案How to convert a Data Class to ByteBuffer in Kotlin?
它按预期工作。问题是几乎所有数据类型都可以放置,除了无符号的一次。字节缓冲区有 putLong 等函数,但 putULong 没有。
任何提示将不胜感激。
亲切的问候,
连续波
我只是这篇文章中的答案How to convert a Data Class to ByteBuffer in Kotlin?
它按预期工作。问题是几乎所有数据类型都可以放置,除了无符号的一次。字节缓冲区有 putLong 等函数,但 putULong 没有。
任何提示将不胜感激。
亲切的问候,
连续波
ULong
和之间是一一对应的Long
,所以可以转换ULong
成Long
,放入缓冲区,读取时反之亦然。为方便起见,声明这些扩展函数:
fun ByteBuffer.putULong(value: ULong): ByteBuffer = putLong(value.toLong())
fun ByteBuffer.getULong(): ULong = getLong().toULong()
它们可以像get
/一样被调用put*()
。