清空的方法
// 方法一
sb.delete(0,sb.length());
// 方法二 效率最高
sb.setLength(0);
// 方法三
sb = new StringBuffer();
方法介绍完,接下来让我们来测测他们谁的效率最高吧
测试代码如下
@Test
public void test() {
StringBuilder sb = new StringBuilder("efficiency");
// delete方法
long start1 = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
sb.delete(0, sb.length());
}
long end1 = System.currentTimeMillis();
System.out.println("delete:" + (end1 - start1));
// setLength方法
long start2 = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
sb.setLength(0);
}
long end2 = System.currentTimeMillis();
System.out.println("setLength:" + (end2 - start2));
// new StringBuilder
long start3 = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
sb = new StringBuilder();
}
long end3 = System.currentTimeMillis();
System.out.println("new StringBuilder:" + (end3 - start3));
}
运行,来看看结果吧
可以看出setLength用时时最短的
StringBuffer和StringBuilder一样也是这个顺序,就不一一测试了,感兴趣的可以自己测试一下