Java 8中StringJoiner和StringBuilder之间的区别
StringJoiner和StringBuilder
在这里,我们将看到StringJoiner和StringBuilder之间的区别。
1)StringJoiner
StringJoiner是一个可在java.util包中使用的类。
StringJoiner是用于连接字符串的类。
StringJoiner类提供add(String str)方法以同时基于构造函数中给定的定界符,前缀和后缀连接字符串。
StringJoiner是最后一个类,我们不能覆盖此类。
在StringJoiner构造函数中,我们可以传递三个参数,例如String分隔符,String前缀和String后缀。
语法:
StringJoiner object_name = new StringJoiner(delimeter,prefix,suffix);
问题:假设我们期望像“ {“ Java”;“ C”;“ C ++”;“ Ruby”}“这样的字符串,其中我们给出了一个包含” Java“,” C“,” C ++“, “Ruby”
示例
import java.util.StringJoiner;public class StringJoinerClass {
public static void main(String[] args) {
//创建StringJoiner类的构造函数
StringJoiner strj = new StringJoiner(";", "{", "}");
//向StringJoiner添加一些元素以进行串联
//通过使用add(String str)方法
strj.add("Java");
strj.add("C");
strj.add("C++");
strj.add("Ruby");
//通过StringJoiner类显示字符串的串联
System.out.println("The result after concatenation is :" + strj);
}
}
输出结果
The result after concatenation is :{Java;C;C++;Ruby}
我们将看到StringBuilder与StringJoiner类有何不同?
2)StringBuilder
StringBuilder是一个在java.lang包中可用的类。
StringBuilder也是提供连接字符串的工具的类。
StringBuilder类提供了append(String str)方法来追加字符串。
在StringBuilder类构造函数中,我们不会传递诸如字符串定界符,字符串前缀,字符串后缀之类的参数。
StringBuilder不是最终类,因此我们无法覆盖此类。
语法:
StringBuilder strb = new StringBuilder();
问题:假设我们期望像“ {“ Java”;“ Programming”}“这样的字符串,其中我们给出了一个包含” Java“,” Programming“的字符串数组。
我们将看到使用StringBuilder类解决该问题的方法是什么?
首先,我们将使用append(String str)方法添加前缀“ {”。
其次,我们将遍历字符串数组{“ Java”,“ Programming”},并在每个元素后附加定界符。
最后,我们将添加后缀“}”。
示例
import java.lang.StringBuilder;class StringBuilderClass {
public static void main(String[] args) {
//创建StringBuilder的构造函数
//没有传递参数的类
StringBuilder strb = new StringBuilder();
//向StringJoiner添加一些元素以进行串联
//通过使用add(String str)方法
//首先,如果需要,我们将添加前缀
strb.append("{");
//其次,我们将在每个元素后附加所需的分隔符
strb.append("Java");
strb.append(";").append("C");
strb.append(";").append("C++");
//最后,如果需要,我们将添加后缀
strb.append("}");
//通过StringBuilder类显示字符串的串联
System.out.println("The result after concatenation is :" + strb);
}
}
输出结果
E:\Programs>javac StringBuilderClass.javaE:\Programs>java StringBuilderClass
The result after concatenation is :{Java;C;C++}
以上是 Java 8中StringJoiner和StringBuilder之间的区别 的全部内容, 来源链接: utcz.com/z/321531.html