拼接字符串?试试 StringJoiner

简介: 我们通常需要拼接字符串的时候呢,多半都是使用 StringBuffer 或 StingBuilder 进行循环遍历拼接,这样既费时又费力,本次推荐 Java8 中推出的 StringJoiner

1、使用 StringBuffer 拼接字符串

public static void main(String[] args) {
    // 需要拼接的list
    List<String> list = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
        list.add("item" + i);
    }
    // 定义
    StringBuffer sb = new StringBuffer();
    for (int j = 0, len = list.size(); j < len; j++) {
        if (j < len - 1) {
            sb.append(list.get(j)).append(",");
        } else {
            sb.append(list.get(j));
        }
    }
    // 输出
    System.out.println(sb.toString());
}

改用 StringJoiner

public static void main(String[] args) {
    // 需要拼接的list
    List<String> list = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
        list.add("item" + i);
    }
    // 定义
    StringJoiner sj = new StringJoiner(",");
    for (int j = 0, len = list.size(); j < len; j++) {
        sj.add(list.get(j));
    }
    // 输出
    System.out.println(sj.toString());
}

同样输出内容如下:

item0,item1,item2,item3,item4,item5,item6,item7,item8,item9

代码是不是一下就减少了许多了呢

2、StringJoiner 升级使用

通过观察 StringJoiner 的构造函数,我们还可以自定义字符串的前缀、后缀、拼接符,例如:

public static void main(String[] args) {
    // 需要拼接的list
    List<String> list = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
        list.add("item" + i);
    }
    // 定义
    StringJoiner sj = new StringJoiner(",", "【", "】");
    for (int j = 0, len = list.size(); j < len; j++) {
        sj.add(list.get(j));
    }
    // 输出
    System.out.println(sj.toString());
}

输出内容如下:

【item0,item1,item2,item3,item4,item5,item6,item7,item8,item9】

在这样的基础上,我们用来拼接 SQL 语句更简单了,例如 IN 条件后

目录
相关文章
|
5月前
|
Java 编译器 测试技术
技术分享:为什么 IDEA 建议去掉 StringBuilder,使用 “+” 拼接字符串?
【8月更文挑战第13天】在Java开发过程中,字符串拼接是一个常见的操作。传统上,开发者在处理大量字符串拼接时,往往倾向于使用StringBuilder或StringBuffer类,因为它们比直接使用“+”操作符进行字符串拼接在性能上更优。然而,近年来,随着Java编译器的不断优化,以及开发工具IDEA(IntelliJ IDEA)的建议,我们可能会看到一种趋势:在某些情况下,IDEA建议直接使用“+”来拼接字符串,而不是使用StringBuilder。这一建议背后,隐藏着哪些技术原因和考量呢?
132 5
|
存储 SQL 人工智能
Java字符串学习总结
Java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
109 0
快速拼接字符串的新类StringJoiner~
快速拼接字符串的新类StringJoiner~
|
安全 Java
每天一道面试题之如何将字符串反转?
每天一道面试题之如何将字符串反转?
|
存储 Java
java字符串中常用的10个方法
java字符串中常用的10个方法
|
算法 Java
替换空格(Java实现)
替换空格(Java实现)
204 0
替换空格(Java实现)
|
Java
java学习第十天笔记-字符串193-stringbuilder基本使用3-拼接字符串
java学习第十天笔记-字符串193-stringbuilder基本使用3-拼接字符串
101 0
java学习第十天笔记-字符串193-stringbuilder基本使用3-拼接字符串
JAVA StringBuilder案例(拼接字符串、字符串反转)
JAVA StringBuilder案例(拼接字符串、字符串反转)!
|
开发者 Python
字符串分割相关的方法|学习笔记
快速学习字符串分割相关的方法
StringBuilder案例:字符串拼接
StringBuilder案例:字符串拼接
148 0

热门文章

最新文章

下一篇
开通oss服务