为什么使用 StringBuilder
比使用 +
运算符连接字符串要快得多?即使内部实现 +
运算符时使用了 StringBuffer
或 StringBuilder
。
public void shortConcatenation(){
long startTime = System.currentTimeMillis();
while (System.currentTimeMillis() - startTime <= 1000){
character += "Y";
}
System.out.println("short: " + character.length());
}
使用字符串构建器
public void shortConcatenation2(){
long startTime = System.currentTimeMillis();
StringBuilder sb = new StringBuilder();
while (System.currentTimeMillis() - startTime <= 1000){
sb.append("Y");
}
System.out.println("string builder short: " + sb.length());
}
我知道这里有很多类似的问题,但它们并不能真正回答我的问题。
StringBuilder
比使用+
运算符进行字符串连接的速度要快得多? - NPE