首页 > 其他分享 >StringBuilder

StringBuilder

时间:2024-03-10 22:01:01浏览次数:21  
标签:String StringBuilder 缓冲区 sb public append

StringBuilder的介绍

  • 问题 : 为什么要学习StringBuilder ?

    • 回答 : 因为StringBuilder可以大幅度提升字符串的操作效率

    • 场景 : 如果今后涉及到字符串的拼接操作, 拼接次数过于频繁, 请一定要使用StringBuilder

  • 介绍 :

    • StringBuilder是可变的字符序列

    • StringBuilder又叫做字符串缓冲区 (容器), 这个容器可以存储任意数据类型

      • 但是数据只要进入这个容器, 全部变成字符串.

StringBuilder的常用构造方法

public StringBuilder() : 创建一个空白的字符串缓冲区, 其初始容量为16个字符
   
public StringBuilder(String str) : 创建一个字符串缓冲区 (容器), 容器在被创建出来的时候, 就会带有参数数据.

StringBuilder的常用成员方法

public StringBuilder append(任意类型) : 向缓冲区中, 添加数据, 返回自己这个对象本身

           链式编程: 如果一个方法调用结束, 返回的结果是对象, 就可以继续向下调用方法.
           sb.append("红色").append("绿色").append("蓝色");

public StringBuilder reverse() : 将缓冲区中的内容进行反转, 返回自己这个对象本身

public int length() : 返回字符的个数

public String toString() :  将缓冲区中的内容转换为字符串, 并返回

String和StringBuilder的转换

1. String ---> StringBuilder

       场景: 手里的数据是一个String, 但是我要调用的方法, String没有, StringBuilder有, 转换后再调用 !!

       1). 使用StringBuilder的空参构造方法, 创建对象, 调用append方法完成添加

               String s = "abc";
               StringBuilder sb = new StringBuilder();
               sb.append(s);

       2). 使用StringBuilder的带参构造方法

               String s = "abc";
               StringBuilder sb = new StringBuilder(s);

2. StringBuilder ---> String

       场景: 手里的数据是一个StringBuilder, 但是我要调用的方法, StringBuilder没有, String有, 转换后再调用 !!

       1). 调用toString方法

               StringBuilder sb = new StringBuilder();
               String s = sb.toString();
 

标签:String,StringBuilder,缓冲区,sb,public,append
From: https://www.cnblogs.com/linzel/p/18064958

相关文章

  • 10_C# 中的 String 和 StringBuilder 的区别
    C#中的String和StringBuilder的区别1.String类String类表示不可变的字符串。一旦创建String对象,其内容就不能再被修改。对String对象进行任何修改操作都会返回一个新的String对象。示例:stringstr1="Hello";stringstr2=str1+"World!";Console.W......
  • String的不可变,StringBuilder.append方法和String.concat
    String.concat对String字符串进行拼接的方法,我们通常用的“+”拼接字符串,效率相比concat更低,其内部实现方式类似于newStringBuilder().append,每次拼接都会创建一个StringBuilder对象。concat方法的核心逻辑:创建长度为str.length+str2.length的char数组,通过Arrays.copyOf创建,该......
  • Java中String、StringBuffer、StringBuilder的区别以及使用场景总结
    Java中,String、StringBuffer和StringBuilder都用于处理字符串,但在功能和性能上有显著的区别。了解这些区别有助于选择最适合特定情境的类型。在选择使用String、StringBuffer或StringBuilder时,应根据字符串操作的性能需求和线程安全要求来做出决定。1、String、StringBuffer、......
  • StringBuilder
    StringBuilder可以看成是一个容器,创建之后里面的内容是可变的。当我们在拼接字符串和反转字符串的时候会使用到1基本使用publicclassStringBuilderDemo3{publicstaticvoidmain(String[]args){//1.创建对象StringBuildersb=newStringBuilder("......
  • 【JAVA基础】String、StringBuilder和StringBuffer的区别——巨详细
    先给答案String是不可变的,StringBuilder和StringBuffer是可变的。而StringBuffer是线程安全的,而StringBuilder是非线程安全的。源码先看看jdk1.8中关于String、StringBuilder和StringBuffer部分的源码,我们看某个类或者某个属性是否不可变首先要看修饰类的关键字是什么,final表示不可......
  • StringBuilder 线程不安全,到底哪里不安全?
    StringBuilder线程不安全,到底哪里不安全?在Java中,字符串拼接是一个非常常见的操作,而对于频繁变动的字符串内容,使用StringBuilder是一个性能优化的选择。但是,StringBuilder在使用上存在一个很大的限制,它是线程不安全的。在多线程环境下,不正确的使用StringBuilder可能导致数据不一......
  • 面试官:请聊一聊String、StringBuilder、StringBuffer三者的区别
    面试官:“小伙子,在日常的写代码过程中,使用过String,StringBuilder和StringBuffer没?”我:“用过的呀!”面试官:“那你就来聊一聊,他们之间有什么区别,不同场景下如何选择吧”我:“好嘞!”在Java的开发过程中,使用频率最高的就是String字符串,但由于在字符串存储和拼接的过程中,涉及到很多场......
  • StringBuilder&正则表达式&日期类总结
    总结StringBuilder:可以改变的字符串底层:使用的是一个byte类型的数组,默认长度16如果超过16,数组会自动扩容扩容的时机:当添加的数据的长度大于此时数组的长度扩容的机制:当前数组长度的2倍+2构造方法:StringBuilder()构造一个没有字符的字符串构建器,初始容量为16个字符。/......
  • StringBuilder,一种可变的string
    StringBuilder是Java中用于操作字符串的可变对象。它允许在字符串中进行修改、添加、删除字符等操作,而不会像普通的字符串操作(例如使用String类)那样产生新的字符串对象。这种可变性使得在处理大量字符串拼接或修改时更加高效。与String不同,StringBuilder是可变的,这意味......
  • Groovy StringBuilder类踩坑
    今天在写脚本的时候发现一个奇怪的错误。经过猜想验证,发现原来Groovy过于灵活了,算是重复踩了之前的坑。Groovy特性描述如下:当Groovy脚本调用getFun()和setFun()方法时,会默认给这个类有一个FunTester的属性。反过来,如果这个类有Fun这个属性,那么get和set方法是不用显式写出来的。本......