不要跟我说String类的实体是不可以发生变化的,而StringBuffer类的实体是可以改变的
想不通的就是
String s=new String("asdf");
s=s+"dfdfg";//这样并没有错吧,那这样StringBuffer又有什么意义呢?
StringBuffer s=new String("sdf");
s.append("asd");
请高手帮忙解答下!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【whmjxa】截止到2008-07-13 13:08:05的历史汇总数据(不包括此帖):
    发帖的总数量:16                       发帖的总分数:461                      每贴平均分数:28                       
    回帖的总数量:144                      得分贴总数量:61                       回帖的得分率:42%                      
    结贴的总数量:14                       结贴的总分数:440                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:2                        未结的总分数:21                       
    结贴的百分比:87.50 %               结分的百分比:95.44 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主加油
      

  2.   

    s=s+"dfdfg"
    s+“dfdfg”是创建了一个新的对象,再将s指向这个对象
    而StrinbBuffer是原来对象的基础上修改,不涉及新对象的创建,效率比较高。
      

  3.   

    仔细去看一下jdk的文档,看看String,StringBuilder和StringBuffer的区别会有很多收获的。