sb.append("'" + s + "',")还是sb.append("'").append(s).append(",")?

kingdelee 发布于 2014/04/23 17:14
阅读 1K+
收藏 0
StringBuffer sb = new StringBuffer();

String [] arr = {"1","2","3","4"................};

方法1:

for(String s : arr){

sb.append("'" + s + "',");

}

方法2:

for(String s : arr){

sb.append("'").append(s).append("',");

}



又是一个很无聊的问题,上面哪种写法好??为什么?一般你会用哪种?
加载中
0
南湖船老大
南湖船老大

引用来自“aiasfina”的评论


2 吧

1 虽然编译器会优化,但是循环体内基本是无效的,每次循环都会构建一个新的 StringBuilder。


是的,循环中还是优化不了,至少JDK6中还是这样
0
otgo
otgo

我用第二种,既然你都用append了,还不明白其中的原因?

0
ForJustice
ForJustice
第二种,还可以把string buffer,改成 string builder
0
Z
Zicl

sb.append(string.format("'{0}',",s));

0
SandKing
SandKing

第一种  太逗了 画蛇添足

0
pantrick
pantrick

都别逗了,直接用+号吧,jdk5之后已经把+用buffer重写了,性能不影响

0
aiasfina
aiasfina


2 吧

1 虽然编译器会优化,但是循环体内基本是无效的,每次循环都会构建一个新的 StringBuilder。


返回顶部
顶部