因为上一次的A题过程中,发现String的+总是超时,后来用到了append()方法,就过了。发现两者的效率存在很大的区别,测试如下:
public static void main(String[] args) {
// TODO 自动生成的方法存根
String str = "";
StringBuffer sb = new StringBuffer();
long start = 0L;
long end = 0L;
start = ();
for (int i = 0; i < 100000; i++) {
str = str + "a";
}
end = ();
("使用string的时间是:" + (end - start) + "毫秒!");
start = ();
for (int i = 0; i < 100000; i++) {
("a");
}
end = ();
("使用StringBuffer的时间是:" + (end - start) + "毫秒!");
//(getMax("aba"));
}
使用string的时间是:4471毫秒!使用StringBuffer的时间是:3毫秒!
这完全不是在一个层次上,希望各位谨记!大量字符串连接一定要用append()方法,原因呢其实很简单,字符串连接每次都需要创建新的字符串对象来保存新串,这样。。。。。。你懂得!