Concat弦乐的有效方式

时间:2015-02-11 20:19:03

标签: java string performance concatenation stringbuilder

在我的应用程序中,我必须将一个String(~50chars)连接到另一个String(~5000chars)。发生这种情况后,我将删除大字符串的第一行(~50chars)。

当我不断接收数据时,我必须能够非常有效地追加和删除这些行。我已经尝试了三种可能性,但这些可能性太慢了:

(50chars String为dataString,5000chars String为dataStringTot。)

正常字符串添加:

dataStringTot = dataStringTot + "\n" + dataString; // Concatenate both strings
dataStringTot = dataStringTot.substring(dataStringTot.indexOf("\n") + 1); // Remove first line

String Concat:

dataStringTot = dataStringTot.concat("\n").concat(dataString); // Concatenate both strings
dataStringTot = dataStringTot.substring(dataStringTot.indexOf("\n") + 1); // Remove first line

StringBuilder的:

初始化StringBuilder一次:

dataStringTot = new StringBuilder(dataString);

编辑其内容:

dataStringTot.append("\n").append(dataString); // Concatenate both strings
dataStringTot.delete(0,dataStringTot.indexOf("\n") + 1); // Remove first line

结果:

StringBuilder是这三者中最有效的方式,但它仍然太慢(我缺少来自互联网的数据,因为应用程序需要太多时间来处理字符串)。

有没有更有效的方法来执行此任务?

0 个答案:

没有答案