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

以下示例說明了如何連線列表的字串型別元素。首先,我們將建立一個包含三個值的字串型別列表“araylist”,然後將其傳遞給 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 程式中的不同用例示例。

更新於: 2023年5月5日

543 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告