在Java中,如何优化字符串连接?
以下示例显示了使用“+”
运算符和StringBuffer.append()
方法进行连接的性能。
package com.yiibai;
public class StringConcatenate {
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
for (int i = 0; i < 99999; i++) {
String result = "This is" + "testing the" + "difference"
+ "between" + "String" + "and" + "StringBuffer";
}
long endTime = System.currentTimeMillis();
System.out.println("Time taken for string"
+ "concatenation using + operator : " + (endTime - startTime)
+ " ms");
long startTime1 = System.currentTimeMillis();
for (int i = 0; i < 99999; i++) {
StringBuffer result = new StringBuffer();
result.append("This is");
result.append("testing the");
result.append("difference");
result.append("between");
result.append("String");
result.append("and");
result.append("StringBuffer");
}
long endTime1 = System.currentTimeMillis();
System.out.println("Time taken for String concatenation"
+ "using StringBuffer : " + (endTime1 - startTime1) + " ms");
}
}
执行上面示例代码,得到以下结果 -
Time taken for stringconcatenation using + operator : 0 ms
Time taken for String concatenationusing StringBuffer : 47 ms