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

【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 引入的实用类,专门用于拼接带有分隔符的字符串。

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

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

相关文章:

  • electron的通信方式(三种)
  • LEETCODE:二叉树的层序遍历JAVA
  • javaEE初阶————多线程进阶(1)
  • 升级旧版本Vmware到Vmware Workstation Pro 17
  • Gateway 配置参数理解
  • VBA使用fso对象合并指定路径的txt文件(含子目录)
  • Android Glide 的显示与回调模块原理源码级深度剖析
  • 前端需要在大模型项目中具备的知识
  • Cython编译去掉符号表
  • VBA 复制指定次数的List
  • 最小生成树--Kruskal
  • 清华与人大最新研究表明:AGI的到来时间需70年与10^26个参数,好像不用那么急了...
  • 【计算机组成原理】第一章 计算机系统概述
  • 【The Rap of China】2018
  • 数据结构--【栈与队列】笔记
  • 2020CVPR-SiamBAN:用于视觉跟踪的Siamese框自适应网络
  • 【已解决】AttributeError: module ‘numpy‘ has no attribute ‘object‘.
  • Unity Shader学习总结
  • Linux安装升级docker
  • 指针的工作原理,函数的传值和传址
  • 巨野做网站的/seo平台优化服务
  • 延吉网站建设彩票/个人域名注册流程
  • 财务咨询网站开发计划书/seo推广网址
  • 网站建设与制作课后题答案/企业网站首页
  • 全网营销型网站建设/百度商城官网首页
  • 域名和主机搭建好了怎么做网站/网站建立