自转: http://blog.chinaunix.net/uid-20745012-id-271466.html
StringBuilder不提供clear或empty方法。 有三种方法可以清空。 1 )新生成一个,旧的由系统自动回收2 )使用delete3 )使用setLength循环三种方法1000万次,代码:
publicclasssbbm{
静态字符串; 静态长时间; publicstaticvoidmain (string [ ] args ) throws exception (stringbuilder sb=new stringbuilder ); stringbuilder sb3=new stringbuilder (; time=System.currentTimeMillis (; for(inti=0; i10000000; I ({ stringbuilder sb2=new stringbuilder ); sb2.append(somestr6ing ); sb2 .应用(some S5 tring2); sb2.append(some3strin4g ); sb2.append(so3mestR5ing ); sb2.append(so2mest7ring ); a=sb2.toString (; } system.out.println (' way2=' (system.current time millis ) (-time ) ); time=System.currentTimeMillis (; for(inti=0; i10000000; I ) sb.delete(0,sb.length ); sb.append(somestring ); sb.append(somestring2); sb.append(somestrin4g ); sb.append(somestr5ing ); sb.append (短信7 ring ); a=sb.toString (; } system.out.println (' way1=' (system.current time millis ) )-time ); time=System.currentTimeMillis (; for(inti=0; i10000000; I ) sb3.Setlength(0; sb3.append(somestr55ing ); sb3.append (some 44字符串2 ); sb3.append(som55estrin4g ); sb3.append(some66str5ing ); sb3.append(so33mest7ring ); a=sb3.toString (; } system.out.println (' way3=' (system.current time millis ) (-time ) ); 请注意,append的所有字符串都不同。 否则,java的字符串池会影响结果。 也就是说,3优于2。 结果:
Way2=9438
Way1=6281Way3=6469多次重复各方法,从点到顺序等综合来看,方法2优于方法3