StringJoiner 是 java.util package 中的一个类,用于构造由分隔符分隔的字符(字符串)序列,并且可以选择以提供的前缀开始并以给定的后缀结束。虽然这也可以借助 StringBuilder 类在每个字符串后附加分隔符来完成,但 StringJoiner 提供了一种简单的方法来实现此目的,而无需编写太多代码。
Constructors of StringJoiner Class
1. StringJoiner(CharSequence delimiter):它构造一个没有字符、没有前缀或后缀的StringJoiner,以及所提供的分隔符的副本。
句法:
public StringJoiner(CharSequence delimiter)
Parameters: 添加到 StringJoiner 值的每个元素之间要使用的字符序列
Exception Thrown: NullPointerException如果分隔符为空
2. StringJoiner(CharSequence分隔符, CharSequence 前缀, CharSequence后缀):它使用提供的前缀、分隔符和后缀的副本构造一个不带字符的StringJoiner。如果StringJoiner中没有添加任何字符,并且调用访问字符串值的方法,它将在结果中返回前缀+后缀(或其属性),除非设置空值首先被调用。
句法:
public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
参数:
- 添加到 StringJoiner 值的每个元素之间要使用的字符序列
- 开头使用的字符序列
- 末尾使用的字符序列
抛出异常:NullPointerException如果前缀、分隔符或后缀为空。
Methods of StringJoiner Class
方法 | 执行的操作 |
---|---|
StringJoiner add() | 添加给定 CharSequence 值的副本作为 StringJoiner 值的下一个元素。如果 newElement 为 null,则添加“null”。 |
StringJoiner length() | 返回此 StringJoiner 的字符串表示形式的长度。 |
StringJoiner merge() | 如果给定的 StringJoiner 不带前缀和后缀,则将其内容添加为下一个元素(如果它非空)。如果给定的 StringJoiner 为空,则调用无效。假设另一个 StringJoiner 使用不同的分隔符。在这种情况下,来自另一个 StringJoiner 的元素将与该分隔符连接,并将结果作为单个元素附加到此 StringJoiner。 |
StringJoiner toString() | 返回此StringJoiner的String对象 |
StringJoiner setEmptyValue() | 设置确定此 StringJoiner 的字符串表示形式时要使用的字符串,并且尚未添加任何元素;那就是当它是空的时候 |
StringJoiner例子:
Java
// Java program to Demonstrate Methods
// of StringJoiner class
// Importing required classes
import java.util.ArrayList;
import java.util.StringJoiner;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty ArrayList of string type
ArrayList<String> al = new ArrayList<>();
// Adding elements to above List
al.add("Ram");
al.add("Shyam");
al.add("Alice");
al.add("Bob");
// Creating object of class inside main()
StringJoiner sj1 = new StringJoiner(",");
// Using setEmptyValue() method
sj1.setEmptyValue("sj1 is empty");
System.out.println(sj1);
// Using add() method
sj1.add(al.get(0)).add(al.get(1));
System.out.println(sj1);
// Using length() method
System.out.println("Length of sj1 : "
+ sj1.length());
StringJoiner sj2 = new StringJoiner(":");
sj2.add(al.get(2)).add(al.get(3));
// Using merge() method
sj1.merge(sj2);
// Using 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 add()用法及代码示例
- Java StringJoiner length()用法及代码示例
- Java StringJoiner merge()用法及代码示例
- Java StringJoiner setEmptyValue()用法及代码示例
- Java StringJoiner toString()用法及代码示例
- Java String compareToIgnoreCase()用法及代码示例
- Java String compareTo()用法及代码示例
- Java String split()用法及代码示例
- Java String length()用法及代码示例
- Java String replace()用法及代码示例
- Java String replaceAll()用法及代码示例
- Java String substring()用法及代码示例
- Java String equals()用法及代码示例
- Java String equalsIgnoreCase()用法及代码示例
- Java String contains()用法及代码示例
- Java String indexOf()用法及代码示例
- Java String trim()用法及代码示例
- Java String charAt()用法及代码示例
- Java String toLowerCase()用法及代码示例
- Java String concat()用法及代码示例
- Java String valueOf()用法及代码示例
- Java String matches()用法及代码示例
- Java String startsWith()用法及代码示例
- Java String endsWith()用法及代码示例
- Java String isEmpty()用法及代码示例
注:本文由纯净天空筛选整理自佚名大神的英文原创作品 StringJoiner Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。