2021.5.2:StringJoiner
StringJoiner
要高效拼接字符串,应该使用StringBuilder,替代的是+连接运算符。
很多时候,我们进行字符串拼接时,是用特定字符将某String数组中的所有String连接起来。Java标准库提供了StringJoiner来做这样的事情——用特定分隔符拼接字符数组。
用法
例子
package pack1; import java.util.StringJoiner; public class Main { public static void main(String[] args) { String[] names = {"Bob", "Alice", "Grade"}; var sj = new StringJoiner(", "); for (String name : names) { sj.add(name); } System.out.println(sj.toString()); } }
以上例子中,只是单纯指定了分隔符,如果还想为连接后的String加开头和结尾,可以在初始化StringJoiner实例时指定最后String的开头和结尾:
var sj = new StringJoiner(", ","Hello ","!");
由此可见StringJoiner的用法和StringBuilder的用法是类似的,区别在于StringBuilder是直接连接,StringJoiner是用分隔符连接,且可以加开头和结尾。
使用时,都是用for循环对一个String [] 数组中的所有String调用这些类的相关方法。StringBuilder是append(str)、insert(i,str),StringJoiner是add(str)
String.join()
不过使用StringJoiner毕竟不是长久之计,String还提供了一个静态方法join(),这个方法在内部使用了StringJoiner来拼接字符串,用起来更方便,且在实际使用中,用该方法基本可以实现所有跟拼接相关的内容(比如StringBuilder与StringJoiner),用法:
String.join("",str);//直接连接,相当于+和StringBuilder的作用 String.join(",",str);//指定分隔符,相当于StringJoiner的作用
注意第一项参数必须是String而不能是char。
小结
用指定分隔符拼接字符串数组时,使用StringJoiner和String.join()更方便;
用StringJoiner拼接字符串时,还可以额外添加一个“开头”、“结尾”。
总结
用String.join()可以实现字符串的连接和用特定字符的拼接:
String.join("",str);//直接连接,相当于+和StringBuilder的作用 String.join(",",str);//指定分隔符,相当于StringJoiner的作用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南