http://blog.163.com/qiangyongbin2000@126/blog/static/7751781920115102823511/
在开发程序的时候,经常使用StringBuffer来进行字符串的拼接。如果在循环中来反复的做字符串拼接时,会清空Stringbuffer中的内容,然后再拼接新的字符串信息。
例如:
StringBuffer sb = new StringBuffer("");
for (UserInfo ui : userInfoList) {
}
在循环中使用sb = new StringBuffer("");来清空sb中的信息。
StringBuffer提供了以下连个方法:
1、delete(int
2、setLength(int
测试程序:
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
结论:
本文探讨了在Java中如何高效地清空并重用StringBuffer对象,对比了几种不同的方法,并通过实验验证了setLength(0)方法的高效性。
795

被折叠的 条评论
为什么被折叠?



