Java 8中的StringJoiner和StringBuilder之间的区别

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值