java中的string和stringBuffer的本质区别,stringBuffer的可变性是什么意思,具体举个实例好吗?谢谢各位大哥

解决方案 »

  1.   

    public class Test {
    public  static  void  main(String [] args){
     StringBuffer a =new StringBuffer("A");
     StringBuffer b =new StringBuffer("B");
    operate(a,b);
    System.out.println(a + "," + b);
    }public static void operate(StringBuffer x,StringBuffer y  ){
    x.append(y);
    y=x;
    }
    }
    答案是 AB,B
    看看这个题目,如果operate写成operate(String x,String y)的话,方法里面不管如何操作,最后结果都是A,B
      

  2.   

    呵呵,这个题目经常在面试中出现这个问题的,
    stringBuffer只是多了一个缓冲作用
      

  3.   

    stringBuffer能够缓冲.
    处理起来比较方便
      

  4.   

    String定义的对象不能被改变,如:
    String a="fu";后a引用的"fu"不会改变了,
    如果再 a="ck";是将另一个字符串"ck"赋给应用a,不是改变原来"fu"的值,
    原来"fu"由于没有指向它的句柄而最终被回收StringBuffer定义的字符串可以改变,
    StringBuffer a = "fu"然后 a="ck",a指向对象没有变,对象内容变化了("ck")
      

  5.   

    如果频繁使用到String 连接操作+ 可以考虑 StringBuffer 。
      

  6.   

    String是不变对象,从创建到销毁都一个样。
    StringBuffer是可变对象,创建后,对象的值可以改变。
      

  7.   

    低价转让JAVA/Oracle系列的培训资料,后面有联系方式,需要的请速联系。
    一、JAVA基础培训
    1.孙鑫Java无难事(共108集  SWF格式)
    2.张孝祥Java就业培训(共56集  RM/RMVB格式)
    3.翁凯Java语言视频培训(共30讲  CSF格式)
    二、JAVA进阶培训
    1.吉林大学远程JSP培训(共32讲 AVI格式)
    2.西安电子科技大学JSP在线课程(共35讲  AVI格式)
    3.JSP数据库系统开发培训( ISO格式 内含电子书及相关源代码)
    4.刘晓涛JAVA UML核心基础(共6集  RM/RMVB格式 )
    5.J2EE专题系列讲座之Struts(共5讲  AVI格式 )
    6.赛迪网校J2EE软件工程师培训(J2EE基础13集  高级17集  案例7集)
    7.J2EE Web程序开发(共38集)
    8.天峰培训J2EE快速进阶培训视频(共33讲  AVI格式)
    三、JAVA实战项目培训录像
    1.北京尚学堂科技_马士兵老师_项目实战手把手java视频教程-坦克大战
    2.北京尚学堂科技_马士兵老师_项目实战手把手j2se视频教程-Chat
    3.北京尚学堂科技_马士兵老师_项目实战手把手BBS教程
    四、数据库方面
    1.Oracle 9i DBA中文视频远程班培训录像(共64集  AVI格式)
    *1Z0-007 Introduction to Oracle9i SQL 
    *1Z0-031 Oracle9i DBA Fundamentals I 
    *1Z0-032 Oracle9i DBA Fundamentals II 
    *1Z0-033 Oracle9i Performance Tuning
        另附全套PPT培训讲稿。
    2.中科院Oracle 10G 数据库培训录像(共18集 rmvb格式)联系方式:
    Tel:13512510369(短信佳)
    QQ:421130479
    MSN:[email protected]
    E-mail:[email protected]