java - 在 Java 中,如何高效地将数据从 String 复制到 char[]/byte[]?

标签 java performance

我需要将许多不同的 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/

相关文章:

javascript - 如何在 Beanshell PostProcessor 中打印 JDBC 请求和响应 header

performance - 是什么使VxWorks如此确定性和快速性?

performance - 一篇关于现代 CPU 特性/性能优化的好文章?

java - 在java中将 double 字符串转换为精确字符串

java - 如何让 JEditorPane 突出显示一行的整个宽度(而不仅仅是文本)?

java - Webflux Reactive 对象在渲染 Thymeleaf View 之前未解析

sql-server - 特定列的最佳索引经常用 IS NULL 过滤?

java - 如何将 Java JSpinner 数字转换为 int?

java - 字符串索引超出范围并全部替换

mysql - 在 MySql 中使用 FIND_IN_SET 的查询速度