java - 有什么(任何方式)可以比 StringWriter 更快地连接 java 字符串吗?

标签 java string string-concatenation stringwriter

我正在提取一堆简单数据并构建一个大 (1kB - 2kB) 字符串。我是这门语言的新手,但在阅读之后,这似乎是最快的(即最少的复制量):

String tmpTable = "<table border=\"1\">" + System.lineSeparator();
StringWriter stringWriter = new StringWriter(1024);
String tr = "";

stringWriter.append(tmpTable);
for(Project p:projectSet) {
  tr = String.format(trFmt, p.getId(), p.getTitle(),
    p.getPriority(), p.getStatus());
  stringWriter.append(tr);
}
stringWriter.append("</table>" + System.lineSeparator());
stringWriter.flush();
stringWriter.close(); // old habits

有没有“更好”的方法?

如果它是“C”,我可能倾向于使用“char *argv[]”类型的交易。

最佳答案

StringBuilder是标准使用。它具有您正在寻找的初始缓冲区大小构造函数和追加方法。要从中获取值(value),请在构建器上调用 toString() 。没有办法(需要)关闭()或冲洗()它。

关于java - 有什么(任何方式)可以比 StringWriter 更快地连接 java 字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26270191/

相关文章:

c - 将字符串地址作为参数传递给指向 Char 函数的指针的指针

python - 我怎样才能使这个 float 格式更干净?

javascript - 生成地址所有组合的有效方法 - Javascript

python - 为什么 join() 不自动将其参数转换为字符串?你什么时候不想让它们成为字符串?

java - Android Studio 无法启动 Ubuntu 找不到主类

java - 如何在版本 Maven 插件中隐藏继承的依赖项?

java - 强制 JVM 释放内存

java - 提交的 EditText 不会相应地表现

c++ - 以下声明之间有什么区别?

java - 如何在每个字符串索引内连接字符串或单词