有一个循环:每次循环都需要一个StringBuffer sb;一种方法是:每次循环完之后都用sb.delete(0,sb.length())清空;还有一种是:每次循环都新创建一个stringBuffer;诸位说哪一种好一些??我知道delete()会耗一些时间,但是:每次新创建会有很多对象,并且得不到释放。因为:java没有主动释放对象的功能。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wangjiajuan】截止到2008-07-17 23:15:28的历史汇总数据(不包括此帖):
    发帖的总数量:57                       发帖的总分数:1170                     每贴平均分数:20                       
    回帖的总数量:67                       得分贴总数量:12                       回帖的得分率:17%                      
    结贴的总数量:26                       结贴的总分数:490                      
    无满意结贴数:1                        无满意结贴分:20                       
    未结的帖子数:31                       未结的总分数:680                      
    结贴的百分比:45.61 %               结分的百分比:41.88 %                  
    无满意结贴率:3.85  %               无满意结分率:4.08  %                  
    楼主该结一些帖子了
      

  2.   

    new吧,尤其是你StringBuffer比较大的时候
      

  3.   

       个人觉得还是new好些,也就是说把StringBuffer sb定义成成员变量,每次循环都new一个对象出来,因为Java有自动回收垃圾的功能,生成的垃圾会在一定的时间被系统自动回收,所以个人觉得用new比较好~~!
      

  4.   

    在循环中new是生成局部变量
    每次循环都丢弃对象
    jvm必要是清理每次循环完之后都用sb.delete(0,sb.length())清空
    这种方法LZ势必要在循环外生成该对象
    循环结束后jvm也会一直维持这个对象
      

  5.   

    new之,新的不来,旧的不去。