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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 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 构建精确任务处理应用