Java StringJoiner类与String.join()方法连接字符串的方式

Java StringJoiner类与String.join()方法连接字符串的方式

有多种方法可以在Java中连接字符串。StringJoiner类和String.join()方法是其中之二。两者都用于连接两个或任意数量的字符串,但它们的实现方式有所不同。

在本文中,我们将尝试找出在使用StringJoiner类和String.join()方法时存在的差异。

StringJoiner类

它是Java.util包中可用的一个类,自JDK 8版本开始添加。我们可以一次连接多个字符串。

在使用之前,需要使用以下命令将其导入到我们的程序中-

import java.util.StringJoiner;

我们可以以两种方式使用这个类−

语法

StringJoiner nameOfinstance = new StringJoiner(" delimiter ");
Or,
StringJoiner nameOfinstance = new StringJoiner(" delimiter ", “ prefix ”, “ suffix ”);

参数

delimiter - 可用于区分不同字符串区域的字符,例如逗号(,),管道符号(|)或冒号(:)。

suffix - 我们可以提供关闭括号。它将被添加到末尾。

prefix - 我们可以提供开放括号。它将被添加到开头。

让我们通过几个示例来讨论。

示例1

在这个示例中,我们将创建一个StringJoiner类的实例’toJoin’以及分隔符,只用于分隔字符串。我们将使用管道符号作为分隔符,并使用该类的add()方法将传递的字符串参数连接到’toJoin’。

import java.util.StringJoiner;
public class Joiner {
   public static void main(String []args) {
      StringJoiner toJoin = new StringJoiner(" | ");
      String st1 = "Tutorials";
      String st2 = "Tutorialspoint";
      String st3 = "Tutorix";
      toJoin.add(st1);
      toJoin.add(st2);
      toJoin.add(st3);
      System.out.println("Concatenated string: " + toJoin);
   }
}

输出

Concatenated string: Tutorials | Tutorialspoint | Tutorix

示例2

我们也可以将所有的字符串放在一行中添加。

import java.util.StringJoiner;
public class Joiner {
   public static void main(String []args) {
      StringJoiner toJoin = new StringJoiner(" | ").add("Tutorials").add("Tutorialspoint").add("Tutorix");
      System.out.println("Concatenated string: " + toJoin);
   }
}

输出

Concatenated string: Tutorials | Tutorialspoint | Tutorix

示例3

下面的示例说明了后缀和前缀的使用以及分隔符。我们将使用开放和闭合的方括号。

import java.util.StringJoiner;
public class Joiner {
   public static void main(String []args) {
      StringJoiner toJoin = new StringJoiner(" | ", " [ ", " ] ");
      String st1 = "Tutorials";
      String st2 = "Tutorialspoint";
      String st3 = "Tutorix";
      toJoin.add(st1);
      toJoin.add(st2);
      toJoin.add(st3);
      System.out.println("Concatenated string: " + toJoin);
   }
}

输出

Concatenated string:  [ Tutorials | Tutorialspoint | Tutorix ]

String.join()方法

以下是String.join()方法与StringJoiner类的不同之处:

  • String.join()是String类的预定义方法,可在java.lang包中使用。

  • 在使用之前不需要导入它,因为默认情况下可供我们使用。

  • 不需要像StringJoiner一样创建任何实例,因为它是一个方法。

  • 它只接受分隔符作为参数。

  • 它可以与字符串、字符串数组和集合接口一起使用。

语法

String nameOfvariable = String.join(" delimiter ", " val1 ", " val2 ");
Or,
String nameOfvariable = String.join(" delimiter ", nameOflist);

参数

delimiter - 逗号()、管道符(|)或冒号(:)等可以用于区分不同字符串区域的字符。

val - 要添加的值。

nameOflist - 如果我们有单独的字符串数组或字符串列表,则将其传递给它而不带引号。

示例1

在这个示例中,我们将创建一个字符串变量’toJoin’,它将存储来自String.join() 方法的结果。我们将使用逗号作为分隔符。

public class Joiner {
   public static void main(String[] args) {
      String toJoin = String.join(" , ", "Tutorials", "Tutorialspoint", "Tutorix");
      System.out.print("Concatenated string: " + toJoin);
   }
}

输出

Concatenated string: Tutorials , Tutorialspoint , Tutorix

示例2

以下示例说明了如何加入列表的字符串类型元素。首先,我们将创建一个包含三个字符串类型值的列表’arraylist’,然后将其传递给String.join()方法来连接所有元素。

import java.util.*;
public class Joiner {
   public static void main(String []args) {
      ArrayList<String> araylist = new ArrayList<String>();
      araylist.add("Tutorials");
      araylist.add("Tutorialspoint");
      araylist.add("Tutorix");
      String toJoin = String.join(" , ", araylist);
      System.out.print("Concatenated string: " + toJoin);
   }
}

输出

Concatenated string: Tutorials , Tutorialspoint , Tutorix

结论

在本文中,我们区分了StringJoiner类和String.join()方法。一个是类,另一个是内置方法。我们已经看到了它们在java程序中不同用例的示例。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程