面试官出的一道题,感觉挺好,分享给你们
StringBuffer sb=new StringBuffer("12345678");
for(int i=0;i<sb.length();i++){
}
问:如何优化这段代码?
答:
StringBuffer sb=new StringBuffer("12345678");
int len=sb.length();
for(int i=0;i<len;i++){
}
原因:
StringBuffer 是线程安全的,但是效率比较慢,如果写成第一种的话,每循环一次就要取一次字符串的长度,而第二种则只需要取一次,如果在长度很大的情况下,第二种的效率就比第一种高多了