StringBuilder类的相关知识

1.构造方法:

           无参构造:new StringBuilder() —— 得到的是 "" 一个空字符串

           有参构造:new StringBuilder("abc");

2.成员方法:

     append()方法:在字符串的末尾添加内容,返回值仍然是this,故可以链式调用。

复制代码
public class Demo5 {
    public static void main(String[] args) {
        StringBuilder sb=new StringBuilder("I am ");
        sb.append("a girl ");
        sb.append(1);
        sb.append(true);
sb.append(" o").appeng("k"); System.out.println(sb); } }
//运行结果: I am a girl 1true ok
    
复制代码

3.StringBuilder和String之间的区别:

(1)String 是一个被final修饰的类,它的底层是一个固定大小的数组,所以一旦创建就不能改变。

(2)StringBuilder底层也是数组,但是没有被final修饰,所以可以改变长度,即可以改变内容。

注意:String s="a"+"b"+"c";是3个字符串a,b,c中的a和b先连接,创建一个新的字符串"ab",“ab"再与"c"连接,

          创建一个新的字符串"abc",一开始的3个字符串"a","b","c"都没变,所以一共是5个字符串。

          而StringBuilder每次append()之后返回的仍然是this,所以自始至终都只有一个字符串,而且不用新建对象,效率更高。

4.StringBuilder和String之间的相互转换:

 

复制代码
public class Demo5 {
    public static void main(String[] args) {
        String str="abc";
        StringBuilder sb=new StringBuilder(str);
        sb.append("123");
        String s = sb.toString();
        System.out.println(s);
    }
}
//运行结果: abc123
复制代码
posted @   遍唱阳春  阅读(234)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示