StringBuilder和StringBuffer

StringBuilder

StringBuilder代表可变字符串对象,相当于一个容器,里面装的字符串是可以改变的,StringBuilder就是用来操作字符串的

好处: StringBuilder比String更适合做字符串的修改操作,效率会更高,代码也会更简洁

常用API

构造器 说明
public StringBuilder() 创建一个空白的可变的字符串对象,不包含任何内容
public StringBuilder(String str) 创建一个指定字符串内容的可变字符串对象
方法名称 说明
public StringBuilder append(任意类型) 添加数据并返回StringBuilder对象本身
public StringBuilder reverse() 将对象的内容反转
public int length() 返回对象内容长度
public String toString() 通过toString()就可以实现把StringBuilder转换为String

案例演示

js 复制代码
public class StringBuilderTest1 {
    public static void main(String[] args) {
        StringBuilder s = new StringBuilder("此时相望不相闻");

        //append()拼接内容,支持任意类型数据
        s = s.append(",愿逐月华流照君。");
        System.out.println(s);  //此时相望不相闻,愿逐月华流照君。

        System.out.println(s.reverse());    //。君照流华月逐愿,闻相不望相时此
        System.out.println(s);      //。君照流华月逐愿,闻相不望相时此
        s.reverse();

        System.out.println(s.length()); //16
        System.out.println(s.getClass());   //class java.lang.StringBuilder
        System.out.println(s.toString().getClass());    //class java.lang.String
        //toString()方法将StringBuilder对象转换为String类型
    }
}

StringBuffer和StringBuilder是一模一样的,可以用StringBuilder的就一定可以用StringBuffer

但StringBuilder是线程不安全的,StringBuffer是线程安全的

相关推荐
地铁潜行者几秒前
消息堆积后,为什么一扩容消费者,MySQL 先被打崩了?
java·后端
地铁潜行者4 分钟前
订单状态更新成功了,分账消息却没发出去:聊聊本地消息表的一致性坑
java·后端
亦暖筑序4 分钟前
Java 8老系统SQL Agent实战:AI生成候选SQL,安全引擎拦截后再执行
java·人工智能·sql
CodeStats6 分钟前
《源纹天书》卷一:归元初醒(第1-5章)
java
大囚长10 分钟前
大模型服务端如何命中缓存
java·人工智能·缓存·dubbo
摇滚侠10 分钟前
SpringMVC 入门到实战 拦截器 78-82
java·后端·spring·maven·intellij-idea
xiaoshuaishuai812 分钟前
C# 定制化Markdown编辑器
开发语言·c#·编辑器
DogDaoDao12 分钟前
C++核心技术深度剖析:从底层原理到工程实践
开发语言·c++·面试·程序员·指针·虚函数
磊 子16 分钟前
C++移动语义和智能指针
java·开发语言·c++
JAVA面经实录91717 分钟前
Elasticsearch 完整版完整知识体系
java·elasticsearch·搜索引擎·es