Java8中的Java.util.StringJoiner

2021-04-20 06:28

阅读:477


  • ??Java 字符串

    Java8中的Java.util.StringJoiner

    StringJoiner是java.util包中的一个类,用于构造一个由分隔符分隔的字符序列(可选),并且可以从提供的前缀开始并以提供的后缀结尾。虽然这也可以在StringBuilder类的帮助下在每个字符串之后附加分隔符,但StringJoiner提供了简单的方法来实现,而无需编写大量代码。

    StringJoiner构造函数:

    1. StringJoiner(CharSequence delimiter):构造一个StringJoiner,其中没有字符,没有前缀或后缀,并提供一个提供的分隔符的副本。
      Syntax : 
      public StringJoiner(CharSequence delimiter)
      Parameters : 
      delimiter - the sequence of characters to be used between 
      each element added to the StringJoiner value
      Throws:
      NullPointerException - if delimiter is null
    2. StringJoiner(CharSequence分隔符,CharSequence前缀,CharSequence后缀):构造一个StringJoiner,其中没有字符,没有前缀或后缀,以及提供的分隔符的副本。
      Syntax : 
      public StringJoiner(CharSequence delimiter, 
             CharSequence prefix, CharSequence suffix)
      Parameters : 
      delimiter - the sequence of characters to be used between
      each element added to the StringJoiner value
      prefix - the sequence of characters to be used at the beginning
      suffix - the sequence of characters to be used at the end
      Throws:
      NullPointerException - if prefix, delimiter, or suffix is null

    方法:在StringJoiner类中有5个方法。

    1. String 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的字符串表示的长度。
      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程序。

    // 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 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 字符串

  • 评论


    亲,登录后才可以留言!