当前位置: 首页 > article >正文

【java】StringJoiner

StringJoiner 是 Java 8 引入的一个实用类,用于高效地拼接字符串,特别适合需要以特定分隔符连接多个字符串的场景。与 StringBuilder 相比,StringJoiner 更专注于处理带有分隔符的字符串拼接,代码更简洁易读。

下面我会详细介绍 StringJoiner 的基本操作和常用方法。


1. 创建 StringJoiner 对象

StringJoiner 提供了两个构造函数:

1.1 指定分隔符

java

StringJoiner joiner = new StringJoiner(",");
  • 创建一个 StringJoiner 对象,使用 , 作为分隔符。

1.2 指定分隔符、前缀和后缀

java

StringJoiner joiner = new StringJoiner(",", "[", "]");
  • 创建一个 StringJoiner 对象,使用 , 作为分隔符,[ 作为前缀,] 作为后缀。


2. 常用方法

2.1 添加内容:add()
  • 用于向 StringJoiner 中添加字符串。

java

StringJoiner joiner = new StringJoiner(",");
joiner.add("Apple");
joiner.add("Banana");
joiner.add("Orange");

System.out.println(joiner.toString()); // 输出: Apple,Banana,Orange

2.2 设置空值处理:setEmptyValue()
  • 用于设置当 StringJoiner 中没有内容时返回的字符串。

java

StringJoiner joiner = new StringJoiner(",");
joiner.setEmptyValue("No fruits");

System.out.println(joiner.toString()); // 输出: No fruits

2.3 合并多个 StringJoinermerge()
  • 用于将另一个 StringJoiner 的内容合并到当前 StringJoiner 中。

java

StringJoiner joiner1 = new StringJoiner(",");
joiner1.add("Apple");
joiner1.add("Banana");

StringJoiner joiner2 = new StringJoiner(",");
joiner2.add("Orange");
joiner2.add("Grape");

joiner1.merge(joiner2); // 合并 joiner2 到 joiner1

System.out.println(joiner1.toString()); // 输出: Apple,Banana,Orange,Grape

2.4 获取长度:length()
  • 返回当前 StringJoiner 中拼接后的字符串长度。

java

StringJoiner joiner = new StringJoiner(",");
joiner.add("Apple");
joiner.add("Banana");

int length = joiner.length(); // 获取长度

System.out.println("长度: " + length); // 输出: 12("Apple,Banana" 的长度)

2.5 转换为字符串:toString()
  • 将 StringJoiner 对象转换为 String 对象。

java

StringJoiner joiner = new StringJoiner(",");
joiner.add("Apple");
joiner.add("Banana");

String result = joiner.toString(); // 转换为 String

System.out.println(result); // 输出: Apple,Banana

3. 示例代码

以下是一个完整的示例,演示 StringJoiner 的基本操作:

java

import java.util.StringJoiner;

public class StringJoinerExample {
    public static void main(String[] args) {
        // 创建 StringJoiner 对象,指定分隔符、前缀和后缀
        StringJoiner joiner = new StringJoiner(",", "[", "]");

        // 添加内容
        joiner.add("Apple");
        joiner.add("Banana");
        joiner.add("Orange");

        // 输出拼接后的字符串
        System.out.println("拼接结果: " + joiner.toString()); // 输出: [Apple,Banana,Orange]

        // 设置空值处理
        StringJoiner emptyJoiner = new StringJoiner(",");
        emptyJoiner.setEmptyValue("No fruits");
        System.out.println("空值处理: " + emptyJoiner.toString()); // 输出: No fruits

        // 合并多个 StringJoiner
        StringJoiner joiner1 = new StringJoiner(",");
        joiner1.add("Apple");
        joiner1.add("Banana");

        StringJoiner joiner2 = new StringJoiner(",");
        joiner2.add("Orange");
        joiner2.add("Grape");

        joiner1.merge(joiner2); // 合并 joiner2 到 joiner1
        System.out.println("合并结果: " + joiner1.toString()); // 输出: Apple,Banana,Orange,Grape

        // 获取长度
        int length = joiner.length();
        System.out.println("长度: " + length); // 输出: 19("[Apple,Banana,Orange]" 的长度)
    }
}

4. 与 StringBuilder 的区别

特性StringJoinerStringBuilder
用途专门用于拼接带有分隔符的字符串通用的字符串操作(拼接、插入、删除等)
分隔符支持支持指定分隔符、前缀和后缀需要手动添加分隔符
代码简洁性更简洁,适合处理带分隔符的拼接更灵活,适合复杂的字符串操作
性能在特定场景下更高效(如拼接带分隔符的字符串)在频繁修改字符串时性能更高

5. 总结

  • StringJoiner 是 Java 8 引入的实用类,专门用于拼接带有分隔符的字符串。

  • 支持指定分隔符、前缀和后缀,代码简洁易读。

  • 适合处理需要以特定格式拼接字符串的场景。


http://www.kler.cn/a/578687.html

相关文章:

  • MyBatis-Plus分页控件使用及使用过程发现的一个坑
  • 【形态学操作中的开运算和闭运算详细讲解】
  • 系统架构设计师—系统架构设计篇—特定领域软件体系结构
  • 为AI聊天工具添加一个知识系统 之141 设计重审 之6 文章学 之 引言 之0 总括生命的形式:意识形态 诗和逻辑
  • WPF基础知识1-20
  • LeetCode 每日一题 1328. 破坏回文串
  • 机器学习数学基础:42.AMOS 结构方程模型(SEM)分析的系统流程
  • Primer - 自适应学习,AI学习工具
  • 从案例分析看微型工业计算机在智能社区中的卓越表现
  • JavaScript网页设计案例:打造交互式用户体验
  • Stream特性(踩坑):惰性执行、不修改原始数据源
  • Expo知识框架大全详解
  • 不同开发语言之for循环的用法、区别总结
  • Spring Cloud之注册中心之Nacos负载均衡
  • 目标检测中的核心评估指标mAP详解
  • Deeplabv3+改进3:在主干网络中添加NAMAttention|助力涨点!
  • 批量在 Word 的指定位置插入页,如插入封面、末尾插入页面
  • Java基础——java8+新特性——方法引用(::)
  • EXCEL自动化13 | 批量重命名工作簿中的工作表
  • ue5.5崩溃报gpu错误快速修复注册表命令方法