StringJoiner和StringBuilder (StringJoiner vs StringBuilder)
Here, we will see the differences between StringJoiner and StringBuilder.
在这里,我们将看到StringJoiner和StringBuilder之间的区别 。
1)StringJoiner (1) StringJoiner)
StringJoiner is a class which is available in java.util package.
StringJoiner是一个类,可以在java.util包中使用。
StringJoiner is a class used to concatenate strings.
StringJoiner是用于连接字符串的类。
StringJoiner class provides add(String str) method to join the strings based on a given delimiter, prefix, and suffix in the constructor simultaneously.
StringJoiner类提供add(String str)方法以同时基于构造函数中给定的定界符,前缀和后缀连接字符串。
StringJoiner is a final class and we can't override this class.
StringJoiner是最后一个类,我们不能覆盖此类。
In StringJoiner constructor we pass we can pass three arguments like String delimiter, String prefix, and String suffix.
在StringJoiner构造函数中,我们可以传递三个参数,例如String分隔符,String前缀和String后缀。
Syntax:
句法:
StringJoiner object_name = new StringJoiner(delimeter,prefix,suffix);
Problem: Let suppose we are expecting the string like "{"Java"; "C"; "C++"; "Ruby"}" where we have given a string array that contains "Java" , "C" , "C++" , "Ruby"
问题:假设我们期望像“ {“ Java”;“ C”;“ C ++”;“ Ruby”}“这样的字符串,其中我们给出了一个包含” Java“,” C“,” C ++“, “Ruby”
Example:
例:
import java.util.StringJoiner;
public class StringJoinerClass {
public static void main(String[] args) {
// Creating a constructor of StringJoiner class
StringJoiner strj = new StringJoiner(";", "{", "}");
// add few elements to StringJoiner for concatenation
// by using add(String str) method
strj.add("Java");
strj.add("C");
strj.add("C++");
strj.add("Ruby");
// Display concatenation of strings by StringJoiner class
System.out.println("The result after concatenation is :" + strj);
}
}
Output
输出量
The result after concatenation is :{Java;C;C++;Ruby}
We will see how StringBuilder differs from StringJoiner class?
我们将看到StringBuilder与StringJoiner类有何不同?
2)StringBuilder (2) StringBuilder)
StringBuilder is a class which is available in java.lang package.
StringBuilder是一个在java.lang包中可用的类。
StringBuilder is also class which provides the facility to concatenate the strings.
StringBuilder也是提供连接字符串的工具的类。
StringBuilder class provides append( String str) method to append the string.
StringBuilder类提供了append(String str)方法来追加字符串。
In StringBuilder class constructor we don't pass such kind of argument like String delimiter, String prefix, String suffix.
在StringBuilder类构造函数中,我们不会传递诸如字符串定界符,字符串前缀,字符串后缀之类的参数。
StringBuilder is not a final class so we can't override this class.
StringBuilder不是最终类,因此我们无法覆盖此类。
Syntax:
句法:
StringBuilder strb = new StringBuilder();
Problem: Let suppose we are expecting the string like "{"Java"; "Programming"}" where we have given a string array that contains "Java" , "Programming".
问题:假设我们期望像“ {“ Java”;“ Programming”}“这样的字符串,我们在其中给出了一个包含” Java“,” Programming“的字符串数组。
We will see what methodology follow to solve this problem by using the StringBuilder class?
我们将看到使用StringBuilder类解决该问题的方法是什么?
First, we will append prefix "{" by using append(String str) method.
首先,我们将使用append(String str)方法添加前缀“ {” 。
Second, we will traverse string array {"Java", "Programming"} and append delimiter after every element.
其次,我们将遍历字符串数组{“ Java”,“ Programming”},并在每个元素后附加定界符。
Finally, we will append suffix "}".
最后,我们将添加后缀“}” 。
Example:
例:
import java.lang.StringBuilder;
class StringBuilderClass {
public static void main(String[] args) {
// Creating a constructor of StringBuilder
// class with passing no argument
StringBuilder strb = new StringBuilder();
// add few elements to StringJoiner for concatenation
// by using add(String str) method
// First we will append prefix if we want
strb.append("{");
// Second we will append required delimeter after every element
strb.append("Java");
strb.append(";").append("C");
strb.append(";").append("C++");
// Finally we will append suffix if we want
strb.append("}");
// Display concatenation of strings by StringBuilder class
System.out.println("The result after concatenation is :" + strb);
}
}
Output
输出量
E:\Programs>javac StringBuilderClass.java
E:\Programs>java StringBuilderClass
The result after concatenation is :{Java;C;C++}
翻译自: https://www.includehelp.com/java/differences-between-stringjoiner-and-stringbuilder-in-java-8.aspx