我需要将许多不同的 String str
的内容复制到一个static char array 并经常使用该数组以提高效率-要求很高的工作,因此避免分配太多新空间很重要。
由于上述原因,str.toCharArray()
被禁止,因为它为每个字符串分配空间。
众所周知,charAt(i)
比使用方括号[i]
更慢也更复杂。所以我想使用 byte[]
或 char[]
。
一个好消息是,有一个 str.getBytes(srcBegin, srcEnd, dst, dstBegin)
。但坏消息是它已经(或将要?)弃用。
那么我们如何才能完成这项艰巨的工作呢?
最佳答案
我相信你想要getChars(int, int, char[], int)
.这会将字符复制到指定的数组中,我希望它能够“尽可能高效地”执行此操作。
除非确实需要,否则您应该避免在文本和二进制表示之间进行转换。撇开其他不谈,转换本身可能很耗时。
关于java - 在 Java 中,如何高效地将数据从 String 复制到 char[]/byte[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63575816/