Java8中StringJoiner类的使用详解

 更新时间:2022年10月25日 14:07:18   作者:胡安民-独行者  
Java在java.util包中添加了一个新的最终类StringJoiner。可以用于构造由定界符分隔的字符序列。本文将通过示例和大家分享一下StringJoiner类的使用,需要的可以参考一下

Java在java.util包中添加了一个新的最终类StringJoiner。

它用于构造由定界符分隔的字符序列。现在,您可以通过传递诸如comma(,),hyphen(-)等分隔符来创建字符串。还可以将前缀和后缀传递给char序列。

Java8 StringJoiner类的构造方法

构造方法描述
public StringJoiner(CharSequence delimiter)构造一个不带任何字符,没有前缀或后缀的StringJoiner,以及提供的定界符的副本。如果分隔符为null,则抛出NullPointerException。
public StringJoiner(CharSequence delimiter,CharSequence prefix,CharSequence suffix)使用提供的前缀,定界符和后缀的副本构造一个不带任何字符的StringJoiner。如果前缀,分隔符或后缀为null,则抛出NullPointerException。

Java8 StringJoiner类的方法

方法描述
public StringJoiner add(CharSequence newElement)将给定CharSequence值的副本添加为StringJoiner值的下一个元素。如果newElement为null,则添加“ null”。
public StringJoiner merge(StringJoiner other)如果它不是空的,它将添加不带前缀和后缀的给定StringJoiner的内容作为下一个元素。如果给定的StringJoiner为空,则该调用无效。
public int length()返回此StringJoiner的String表示形式的长度。
public StringJoiner setEmptyValue(CharSequence emptyValue)设置确定此StringJoiner的字符串表示形式时要使用的字符序列,并且尚未添加任何元素(即,当它为空时)。

分割案例

import java.util.StringJoiner;  
public class StringJoinerExample {  
    public static void main(String[] args) {  
        StringJoiner joinNames = new StringJoiner(","); // passing comma(,) as delimiter   
          
        // Adding values to StringJoiner  
        joinNames.add("Rahul");  
        joinNames.add("Raju");  
        joinNames.add("Peter");  
        joinNames.add("Raheem");  
                  
        System.out.println(joinNames);  
    }  
}  

输出结果为:

Rahul,Raju,Peter,Raheem

添加前缀和后缀

import java.util.StringJoiner;  
public class StringJoinerExample {  
    public static void main(String[] args) {  
        StringJoiner joinNames = new StringJoiner(",", "[", "]");   // passing comma(,) and square-brackets as delimiter   
          
        // Adding values to StringJoiner  
        joinNames.add("Rahul");  
        joinNames.add("Raju");  
        joinNames.add("Peter");  
        joinNames.add("Raheem");  
                  
        System.out.println(joinNames);  
    }  
}  

输出结果为:

[Rahul,Raju,Peter,Raheem]

合并两个StringJoiner

merge() 方法合并两个StringJoiner对象,但不包括第二个StringJoiner对象的前缀和后缀。

import java.util.StringJoiner;  
public class StringJoinerExample {  
    public static void main(String[] args) {  
  
        StringJoiner joinNames = new StringJoiner(",", "[", "]");   // passing comma(,) and square-brackets as delimiter   
          
        // Adding values to StringJoiner  
        joinNames.add("Rahul");  
        joinNames.add("Raju");  
  
        // 创建StringJoiner与:(冒号)分隔符 
        StringJoiner joinNames2 = new StringJoiner(":", "[", "]");  // passing colon(:) and square-brackets as delimiter   
          
        // Adding values to StringJoiner  
        joinNames2.add("Peter");  
        joinNames2.add("Raheem");  
  
        // 合并两个StringJoiner 
        StringJoiner merge = joinNames.merge(joinNames2);   
        System.out.println(merge);  
    }  
} 

输出结果为:

[Rahul,Raju,Peter:Raheem]

StringJoiner方法

import java.util.StringJoiner;  
public class StringJoinerExample {  
    public static void main(String[] args) {  
        StringJoiner joinNames = new StringJoiner(","); // passing comma(,) as delimiter   
          
        // 因为它是空的,所以什么也不打印 
        System.out.println(joinNames);  
          
        // 我们可以设置默认空值 
        joinNames.setEmptyValue("It is empty");  
        System.out.println(joinNames);  
          
          
        // 向StringJoiner添加值 
        joinNames.add("Rahul");  
        joinNames.add("Raju");  
        System.out.println(joinNames);  
          
        // 返回StringJoiner的长度  
        int length = joinNames.length();  
        System.out.println("Length: "+length);  
          
        // 返回StringJoiner作为字符串类型  
        String str = joinNames.toString();  
        System.out.println(str);  
          
        // 现在,我们可以对它应用字符串方法
        char ch = str.charAt(3);  
        System.out.println("Character at index 3: "+ch);  
          
        // 添加一个元素
        joinNames.add("Sorabh");  
        System.out.println(joinNames);  
          
        //返回长度
        int newLength = joinNames.length();  
        System.out.println("New Length: "+newLength);  
    }  
} 

输出结果为:

It is empty
Rahul,Raju
Length: 10
Rahul,Raju
Character at index 3: u
Rahul,Raju,Sorabh
New Length: 17

到此这篇关于Java8中StringJoiner类的使用详解的文章就介绍到这了,更多相关Java8 StringJoiner类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mybatis新手快速入门以及一些错误汇总

    mybatis新手快速入门以及一些错误汇总

    这篇文章主要给大家介绍了关于mybatis新手快速入门以及一些错误的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率)

    Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率)

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?今天小编通过本教程给大家介绍下
    2016-12-12
  • Java实现企业微信回调配置的详细步骤与测试

    Java实现企业微信回调配置的详细步骤与测试

    这篇文章主要给大家介绍了关于Java实现企业微信回调配置的详细步骤与测试,企业微信回调是指企业微信通过HTTP POST请求将业务数据回调到指定的URL上,文中给出了详细的代码示例,需要的朋友可以参考下
    2023-09-09
  • java实现数字转大写的方法

    java实现数字转大写的方法

    这篇文章主要介绍了 java实现数字转大写的方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
    2017-10-10
  • 使用jpa原生sql@Query操作增删改查

    使用jpa原生sql@Query操作增删改查

    这篇文章主要介绍了使用jpa原生sql@Query操作增删改查,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • java文件下载设置中文名称的实例(response.addHeader)

    java文件下载设置中文名称的实例(response.addHeader)

    下面小编就为大家分享一篇java文件下载设置中文名称的实例(response.addHeader),具有很好的参考价值,希望对大家有所帮助
    2017-12-12
  • Java从服务端下载Excel模板文件的两种方法

    Java从服务端下载Excel模板文件的两种方法

    这篇文章主要为大家详细介绍了Java从服务端下载Excel模板文件的两种方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 教你用JAVA写文本编辑器(二)

    教你用JAVA写文本编辑器(二)

    之前介绍了JAVA写文本编辑器的基本思路,下面这篇文章就来给大家介绍了关于用JAVA写文本编辑器的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-11-11
  • Java线程和操作系统线程的关系解读

    Java线程和操作系统线程的关系解读

    这篇文章主要介绍了Java线程和操作系统线程的关系解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • java工程师进阶之MyBatis延迟加载的使用

    java工程师进阶之MyBatis延迟加载的使用

    本文是java工程师进阶篇,主要介绍了java应用开发中MyBatis延迟加载及如何使用,有需要的朋友 可以借鉴参考下,希望能够有所帮助
    2021-09-09

最新评论