【发布时间】:2021-02-24 11:43:17
【问题描述】:
假设我想从一个字符串创建一个字节数组。例如这样的字符串:
"90, -123, 38, 0, 0, 3, 118, 93, 283, -1"
我将如何在 Kotlin 中做到这一点?
【问题讨论】:
-
.toByteArray()?
假设我想从一个字符串创建一个字节数组。例如这样的字符串:
"90, -123, 38, 0, 0, 3, 118, 93, 283, -1"
我将如何在 Kotlin 中做到这一点?
【问题讨论】:
.toByteArray() ?
可能是这样的:
val split = "90, -123, 38, 0, 0, 3, 118, 93, 122, -1".split(',')
val result = ByteArray(split.size){ split[it].trim().toByte() }
注意:283 超出了字节的范围。
【讨论】:
map() 调用来避免使用一个临时列表:.map{ it.trim().toByte() }。您可以通过存储split() 的结果,然后直接从中创建 ByteArray 来避免这两个临时列表(以稍微复杂的代码为代价),例如ByteArray(split.size){ split[it].trim().toByte() }.