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.java

E:\Programs>java StringBuilderClass

The result after concatenation is :{Java;C;C++}

以上是 Java 8中StringJoiner和StringBuilder之间的区别 的全部内容, 来源链接: utcz.com/z/321531.html

回到顶部