首页 > 其他 > 详细

StringBuffer和StringBuilder

时间:2021-07-21 16:57:52      阅读:17      评论:0      收藏:0      [点我收藏+]

StringBuffer和StringBuilder


Strng、StringBuffer、StringBuilder的异同

package com.cheng.string;
?
public class StringBufferBuilder01 {
   public static void main(String[] args) {
       //String、StringBuffer、StringBuilder的异同
       //String 不可变的字符序列 底层使用char[]存储
       //StringBuffer 不可变的字符序列 底层使用char[]存储 线程安全,效率低
       //StringBuilder 不可变的字符序列 底层使用char[]存储 线程不安全,效率高
       StringBuffer str = new StringBuffer("123de");
       str.setCharAt(2,‘h‘);//替换字符
       System.out.println(str);//12hde
     /*
     创建对象时底层char[]的长度
     String s1 = new String();   char[] value = new char[0]
     String s2 = new String("zbc"); char value = new char[3]
     StringBuffer s3 = new String(); char value = new char[16]
     s3.append(‘a‘); value[0] = ‘a‘添加
     s3.append(‘b‘); value[1] = ‘b‘
?
     StringBuffer s4 = new String("zbc"); char value = new char["zbc".length + 16]
     System.out.println(s4.length); 输出3
     如果要添加的数据底层数组容不下了,则需要扩充底层的数组
     默认情况霞扩充为原来的2倍+2,同时 将原有数组的元素复制到新数组中去
      */
  }
}
?

StringBuffer和StringBuilder

原文:https://www.cnblogs.com/Alirious/p/15039308.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!