StringBuffer 清空
几种方法:
-
方法1:
1234StringBuffer my_StringBuffer =newStringBuffer();my_StringBuffer.append('helloworld');//添加字符串到StringBuffer中intsb_length = my_StringBuffer.length();// 取得字符串的长度my_StringBuffer.delete(0,sb_length);//删除字符串从0~sb_length-1处的内容 (这个方法就是用来清除StringBuffer中的内容的) -
方法2:
1my_StringBuffer.setLength(0);//设置StringBuffer变量的长度为0 -
方法3:也是我以前一直用的
1my_StringBuffer =newStringBuffer()
几种方法的效率:
测试程序:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
private static void testStringBufferclear() { StringBuffer sbf = new StringBuffer("wwwwww"); StringBuffer sbi = new StringBuffer("wwwwww"); long s1 = System.currentTimeMillis(); for (int i = 0; i < 500000; i++) { sbi.setLength(0); } long s11 = System.currentTimeMillis(); System.out.println("StringBuffer-setLength:" + (s11 - s1)); s1 = System.currentTimeMillis(); for (int i = 0; i < 500000; i++) { sbf.delete(0, sbf.length()); } s11 = System.currentTimeMillis(); System.out.println("StringBuffer--delete:" + (s11 - s1)); s1 = System.currentTimeMillis(); for (int i = 0; i < 500000; i++) { sbf = new StringBuffer(""); } s11 = System.currentTimeMillis(); System.out.println("StringBuffer--new StringBuffer:" + (s11 - s1)); } |
测试结果:
|
1
2
3
|
StringBuffer-setLength:63StringBuffer--delete:109StringBuffer--new StringBuffer:78 |
测试结论:
要通过使用sbi.setLength(0);来清空StringBuffer对象中的内容效率最高

浙公网安备 33010602011771号