StringBuilder和StringBuffer之间的区别
2022-08-31 01:26:30
和 之间的主要区别是什么?在决定其中任何一个时,是否存在任何性能问题?StringBuffer
StringBuilder
和 之间的主要区别是什么?在决定其中任何一个时,是否存在任何性能问题?StringBuffer
StringBuilder
StringBuilder
比StringBuffer
更快,因为它不是。synchronized
下面是一个简单的基准测试:
public class Main {
public static void main(String[] args) {
int N = 77777777;
long t;
{
StringBuffer sb = new StringBuffer();
t = System.currentTimeMillis();
for (int i = N; i --> 0 ;) {
sb.append("");
}
System.out.println(System.currentTimeMillis() - t);
}
{
StringBuilder sb = new StringBuilder();
t = System.currentTimeMillis();
for (int i = N; i > 0 ; i--) {
sb.append("");
}
System.out.println(System.currentTimeMillis() - t);
}
}
}
测试运行给出 for 与 for 的编号。2241 ms
StringBuffer
753 ms
StringBuilder