关于数组:在Java中,如何更有效地追加字符串?

In Java, how to append a string more efficiently?

本问题已经有最佳答案,请猛点这里访问。

我编写了一个Java程序,其中,我需要附加一个字符串

" u13a2"改为现有的"u1234 u12de u1386 ... u15a3"

所以逐渐地,绳子变得越来越长。我发现花在每个附加物上的时间也越来越长。我们有什么办法可以把这个改进到一定程度吗?

我想到的实现包括:

1
unicodeArray +=""+unicode;

1
unicodeArray = unicodeArray.concat(""+unicode);

他们表现相似。我认为造成这些不良性能的主要原因是特殊类型的String。它为每个分配创建一个新对象。如果您也这么认为,这是否意味着我最好使用另一种类型,比如字节数组?


You should the StringBuilder类的使用。P></

1
2
3
4
5
6
7
StringBuilder stringBuilder = new StringBuilder();

stringBuilder.append("Some text");
stringBuilder.append("Some text");
stringBuilder.append("Some text");

String finalString = stringBuilder.toString();

在加成,请访问:P></

  • "optimize how the Java代码与StringBuilder的?"
  • "concatenation StringBuilder字符串ToString()比在Java中"

StringBuilder舱使用。在桑恩是高效的,想给你是什么。P></


你可以使用StringBuilderStringBufferor for this。both are for动态字符串操作。线程安全在StringBufferis as StringBuilderis not。P></

使用多线程环境中StringBuffer。but if it is single is和is螺纹侧向StringBuilder建议StringBuffer更快比它多。P></


我给你任何append or each time with modification EN,EN在String创源对象。P></

我知道StringBuilder(如果使用append()method of important is not线程安全(如果使用),其他线程安全StringBufferis important that will be。),高效的方式做它。P></


java.lang.stringbuilder。使用构造函数创建int size to an initial。P></