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调用这些类的相关方法。StringBuilderappend(str)、insert(i,str)StringJoineradd(str)

String.join()

不过使用StringJoiner毕竟不是长久之计,String还提供了一个静态方法join(),这个方法在内部使用了StringJoiner来拼接字符串,用起来更方便,且在实际使用中,用该方法基本可以实现所有跟拼接相关的内容(比如StringBuilderStringJoiner),用法:

String.join("",str);//直接连接,相当于+和StringBuilder的作用    
String.join(",",str);//指定分隔符,相当于StringJoiner的作用

注意第一项参数必须是String而不能是char

小结

用指定分隔符拼接字符串数组时,使用StringJoinerString.join()更方便;

StringJoiner拼接字符串时,还可以额外添加一个“开头”“结尾”

总结

用String.join()可以实现字符串的连接和用特定字符的拼接:

String.join("",str);//直接连接,相当于+和StringBuilder的作用    
String.join(",",str);//指定分隔符,相当于StringJoiner的作用

 

posted @   ShineLe  阅读(38)  评论(0编辑  收藏  举报
编辑推荐:
· 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代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示