StringBuffer类和StringBuilder类
  TEZNKK3IfmPf 2023年11月12日 41 0

StringBuffer类和StringBuilder类

  •  
  • StringBuffer类StringBuffer类和StringBuilder类
  • StringBuilder类StringBuffer类和StringBuilder类
  •  
  • StringBuffer和StringBuilder简介
  •  
package com.day0217_1;

import org.junit.jupiter.api.Test;

/** * 关于StringBuffer和StringBuilder的使用 */
public class StringBufferBuilderTest {
   
     

    /* String、StringBuffer、StringBuilder三者的异同? String:不可变的字符序列,底层使用char[]存储 StringBuffer:可变的字符序列:线程安全的,效率低,底层使用char[]存储 StringBuilder:可变的字符序列:jdk5.0新增的,线程不安全的,效率高,底层使用char[]存储 源码分析: String str=new String();//new char[0]; String str1=new String("abc")//new char[]{'a','b','c'}; StringBuffer sb1=new StringBuffer();//new char[16];底层创建了一个长度为16的数组。 System.out.println(sb1.length());// sb1.append('a');//value[0]='a'; sb1.append('b');//value[1]='b'; StringBuffer sb2=new StringBuffer();//char value =new char["abc".length()+16]; //问题1.System.out.println(sb2.length());//3 //问题2.扩容问题:如果要添加的数据底层数组盛不下了,那就需要扩容底层的数组。 默认情况下,扩容为原来的2倍+2,同时将原有的数组中的元素复制到新的数组中。 指导意义:开发中建议大家使用:StringBuffer(int capacity)或StringBuilder(int capacity) */

    @Test
    public void test1(){
   
     
        StringBuffer sb1=new StringBuffer("abc");
        sb1.setCharAt(0,'m');
        System.out.println(sb1);

        StringBuffer sb2=new StringBuffer();
        System.out.println(sb2.length());//0

    }


}

  •  
  • StringBuffer的常用方法

StringBuffer类和StringBuilder类
*

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 其他流 下一篇: 枚举类
  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   21天前   48   0   0 java
  TEZNKK3IfmPf   2024年05月31日   55   0   0 java
TEZNKK3IfmPf