Java8 StringJoiner用法示例代码详解

2021年3月28日15:39:49 发表评论 999 次浏览

本文为你介绍Java StringJoiner用法,Stringjoiner使用上的详细介绍和要注意的地方,还有提供StringJoiner用法示例代码

StringJoiner在java.util软件包中, 用于构造由定界符分隔的字符(字符串)序列, 并可选地以提供的前缀开头和以提供的后缀结尾。尽管也可以借助StringBuilder类在每个字符串后添加定界符来完成此操作, 但是StringJoiner提供了简便的方法来完成此操作, 而无需编写太多代码。

Stringjoiner用法-构造函数介绍:

  1. StringJoiner(CharSequence delimiter):构造一个不带任何字符, 不带前缀或后缀的StringJoiner, 并复制提供的定界符。
    Syntax :  public StringJoiner(CharSequence delimiter) Parameters :  delimiter - 要在添加到StringJoiner值的每个元素之间使用的字符序列 Throws: NullPointerException - 如果delimiter为空 
  2. StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix):使用提供的前缀, 定界符和后缀的副本构造一个不包含任何字符的StringJoiner。如果没有字符添加到StringJoiner中, 并且调用了访问其字符串值的方法, 则它将返回结果中的前缀+后缀(或其属性), 除非首先调用setEmptyValue。
    Syntax :  public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) Parameters :  delimiter - 要在添加到StringJoiner值的每个元素之间使用的字符序列 prefix - 前缀,要在开头使用的字符序列 suffix - 后缀,要在开头使用的字符序列 Throws: NullPointerException - 如果prefix, delimiter, or suffix为null 

StringJoiner用法 :StringJoiner类中的5个方法介绍。

  1. 字符串toString():此方法返回此StringJoiner的String对象。
    Syntax :  public String toString() Parameters :  NA Returns : the string representation of this StringJoiner Overrides : toString in class Object 
  2. StringJoiner add(CharSequence newElement):此方法将给定CharSequence值的副本添加为StringJoiner值的下一个元素。如果newElement为null, 则添加" null"。
    Syntax :  public StringJoiner add(CharSequence newElement) Parameters :  newElement - The element to add Returns : a reference to this StringJoiner 
  3. StringJoiner merge(StringJoiner other):此方法添加给定StringJoiner的内容(不带前缀和后缀)作为下一个元素(如果非空)。如果给定的StringJoiner为空, 则该调用无效。如果另一个StringJoiner使用其他定界符, 则来自另一个StringJoiner的元素将与该定界符连接, 并且结果将作为单个元素附加到此StringJoiner。
    Syntax :  public StringJoiner merge(StringJoiner other) Parameters :  other - The StringJoiner whose contents should be merged into this one Returns : This StringJoiner Throws : NullPointerException - if the other StringJoiner is null 
  4. int length():此方法返回此StringJoiner的String表示形式的长度。
    Syntax :  public int length() Parameters :  NA Returns : This StringJoiner 
  5. StringJoiner setEmptyValue(CharSequence emptyValue):此方法设置在确定此StringJoiner的字符串表示形式时要使用的字符串, 并且尚未添加任何元素, 即当它为空时。
    Syntax :  public StringJoiner setEmptyValue(CharSequence emptyValue) Parameters :  emptyValue - the characters to return as the value  of an empty StringJoiner Returns : this StringJoiner itself so the calls may be chained Throws: NullPointerException - when the emptyValue parameter is null 

以下是演示Java Stringjoiner用法示例代码:包括构造函数和所有方法

// Java program to demonstrate methods
// of StringJoiner class
  
import java.util.ArrayList;
import java.util.StringJoiner;
      
public class Test2
{
     public static void main(String[] args)
     {
        ArrayList<String> al = new ArrayList<>();
         
        al.add( "Ram" );
        al.add( "Shyam" );
        al.add( "Alice" );
        al.add( "Bob" );
         
        StringJoiner sj1 = new StringJoiner( ", " );
         
        // setEmptyValue() method
        sj1.setEmptyValue( "sj1 is empty" );
        System.out.println(sj1);
         
        // add() method
        sj1.add(al.get( 0 )).add(al.get( 1 ));
        System.out.println(sj1);
         
        // length() method
        System.out.println( "Length of sj1 : " + sj1.length());
         
        StringJoiner sj2 = new StringJoiner( ":" );
        sj2.add(al.get( 2 )).add(al.get( 3 ));
         
        //merge() method
        sj1.merge(sj2);
         
        // toString() method
        System.out.println(sj1.toString());
         
        System.out.println( "Length of new sj1 : " + sj1.length());
      
     }
}

输出如下:

sj1 is empty
Ram, Shyam
Length of sj1 : 9
Ram, Shyam, Alice:Bob
Length of new sj1 : 19

以上就是Java Stringjoiner用法解析和代码示例,Stringjoiner在使用构造函数和方法有一些要注意的地方,只要你根据以上Stringjoiner用法示例代码,读懂该代码,并自己动手写一个示例,相信你可以很快学会Java Stringjoiner用法。

希望本文可以帮助到你,如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: