JAVA中清空StringBuffer变量
程序员文章站
2024-02-26 15:35:40
...
一直使用new来清空,刚度娘了下,结合几个文章内容摘记一下.
几种方法:
-
方法1:
StringBuffer my_StringBuffer = new StringBuffer(); my_StringBuffer.append('helloworld'); //添加字符串到StringBuffer中 int sb_length = my_StringBuffer.length();// 取得字符串的长度 my_StringBuffer.delete(0,sb_length); //删除字符串从0~sb_length-1处的内容 (这个方法就是用来清除StringBuffer中的内容的)
-
方法2:
my_StringBuffer.setLength(0); //设置StringBuffer变量的长度为0
-
方法3:也是我以前一直用的
my_StringBuffer = new StringBuffer()
几种方法的效率:
测试程序:
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));
}
测试结果:
StringBuffer-setLength:63
StringBuffer--delete:109
StringBuffer--new StringBuffer:78
测试结论:
要通过使用sbi.setLength(0);来清空StringBuffer对象中的内容效率最高。
转载于:https://blog.51cto.com/chcchb/1213601
下一篇: 怎么判断变量是否是一个数组?