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 程式中的不同用例示例。