Java 字符串
]
Java8中的Java.util.StringJoiner
StringJoiner是java.util包中的一个类,用于构造一个由分隔符分隔的字符序列(可选),并且可以从提供的前缀开始并以提供的后缀结尾。虽然这也可以在StringBuilder类的帮助下在每个字符串之后附加分隔符,但StringJoiner提供了简单的方法来实现,而无需编写大量代码。
StringJoiner构造函数:
- 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
- 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个方法。
- String toString():此方法返回此StringJoiner的String对象。
Syntax : public String toString() Parameters : NA Returns : the string representation of this StringJoiner Overrides : toString in class Object
- 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
- 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
- int length():此方法返回此StringJoiner的字符串表示的长度。
Syntax : public int length() Parameters : NA Returns : This StringJoiner
- 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<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 : 19Java 字符串