StringBuffer b = new StringBuffer();
建立的是一个空的16位的字符串缓冲区,什么意思啊?

解决方案 »

  1.   

    几乎在所有语言中string在做合并时的性能都很差,因为是在堆中,每次合并都需要创建新的对象,而StringBuffer不存在这个问题。
      

  2.   

    StringBuffer实在JDK1.0时就有了,而现在StringBuilder实在JDK5.0是发布的,使用的方法
    基本上都差不多,据Sun说,StringBuilder的性能要好一点,不过没有感觉出来。
    他的缓冲区就是能够进行对象的合并比如append()方法等。
      

  3.   

    StringBuffer和StringBuilder区别是什么啊?
      

  4.   

    Java.lang.StringBuffer线程安全的可变字符序列。类似于 String 的字符串缓冲区,但不能修改,怎么理解这句话?
      

  5.   

    那insert方法指定插入的位置是只能操作的啊??
      

  6.   

    那insert方法指定插入的位置,是怎么操作的啊??
      

  7.   

    StringBuilder是J2SE 5.0才新增的类,在J2SE 5.0之前的版本若有相同的需求,则使用java.lang.StringBuffer。事实上,StringBuilder被设计为与StringBuffer具有相同的操作接口。在单机非多线程(Multithread)的情况下使用StringBuilder会有较好的效率,因为StringBuilder没有处理同步(Synchronized)问题。StringBuffer则会处理同步问题,如果StringBuilder会在多线程下被操作,则要改用StringBuffer,让对象自行管理同步问题。
      

  8.   

    StringBuffer b = new StringBuffer(); 
    以16为长度,在实例内部建立一个长度为16的char[]数组。用作缓冲区,来容纳字符。
      

  9.   

    另外,StringBuffer出现时间较早,Java出现初期应用范畴还没现在这么广,多数用于嵌入开发,许多功能都用synchronized加上锁,以保证线程同步,但这也影响了效能。
    JDK5后的StringBuilder同样也是AbstractStringBuilder的一个实现,但许多操作不再用synchronized加锁,提高效能。