StringBuffer小细节
0
以前每次说到使用StringBuffer
来拼接字符串,但是当使用toString
的方法时要小心。
例如下面的代码:
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
long begin = System.currentTimeMillis();
for (int i = 0; i < 1000 * 10000; i++) {
if(buffer.toString().equals("bb")) {
}
}
long end = System.currentTimeMillis();
System.out.println(end - begin);
begin = System.currentTimeMillis();
String value = buffer.toString();
for (int i = 0; i < 1000 * 10000; i++) {
if(value.equals("bb")) {
}
}
end = System.currentTimeMillis();
System.out.println(end - begin);
}
如果每次比较的时候都去调用toString
的话效率会非常低。