logo

Java String join()

The Java String class join() metoda vrací řetězec spojený s daným oddělovačem. V metodě String join() se oddělovač zkopíruje pro každý prvek. Metoda join() je součástí řetězce Java od verze JDK 1.8.

Ve třídě Java String existují dva typy metod join().

Podpis

Podpis nebo syntaxe metody join() je uvedena níže:

 public static String join(CharSequence delimiter, CharSequence... elements) and public static String join(CharSequence delimiter, Iterable elements) 

Parametry

oddělovač : hodnota znaku, která se má přidat ke každému prvku

Prvky : hodnota znaku, která má být připojena s oddělovačem

Návraty

spojený řetězec s oddělovačem

Výjimečné hody

Výjimka NullPointerException pokud je prvek nebo oddělovač null.

Od té doby

1.8

Interní implementace

 // type - 1 public static String join(CharSequence delimiter, CharSequence... elements) { Objects.requireNonNull(elements); Objects.requireNonNull(delimiter); StringJoiner jnr = new StringJoiner(delimiter); for (CharSequence c: elements) { jnr.add(c); } return jnr.toString(); } 
 // type - 2 public static String join(CharSequence delimiter, CharSequence... elements) { Objects.requireNonNull(elements); Objects.requireNonNull(delimiter); StringJoiner jnr = new StringJoiner(delimiter); for (CharSequence c: elements) { jnr.add(c); } return jnr.toString(); } public static String join(CharSequence delimiter, Iterable elements) { Objects.requireNonNull(elements); Objects.requireNonNull(delimiter); StringJoiner jnr = new StringJoiner(delimiter); for (CharSequence c: elements) { joiner.add(c); } return jnr.toString(); } 

Příklad metody Java String join().

Název souboru: StringJoinExample.java

hranatý materiál
 public class StringJoinExample{ public static void main(String args[]){ String joinString1=String.join('-','welcome','to','javatpoint'); System.out.println(joinString1); }} 
Otestujte to hned

Výstup:

 welcome-to-javatpoint 

Příklad metody Java String join() 2

K formátování řetězce můžeme použít oddělovač, jak jsme to udělali v níže uvedeném příkladu, abychom ukázali datum a čas.

Název souboru: StringJoinExample2.java

 public class StringJoinExample2 { public static void main(String[] args) { String date = String.join('/','25','06','2018'); System.out.print(date); String time = String.join(':', '12','10','10'); System.out.println(' '+time); } } 

Výstup:

 25/06/2018 12:10:10 

Příklad metody Java String join() 3

V případě použití null jako oddělovače dostaneme výjimku nulového ukazatele. Následující příklad potvrzuje totéž.

Název souboru: StringJoinExample3.java

 public class StringJoinExample3 { // main method public static void main(String argvs[]) { String str = null; str = String.join(null, 'abc', 'bcd', 'apple'); System.out.println(str); } } 

Výstup:

 Exception in thread 'main' java.lang.NullPointerException at java.base/java.util.Objects.requireNonNull(Objects.java:221) at java.base/java.lang.String.join(String.java:2393) at StringJoinExample3.main(StringJoinExample3.java:7) 

Pokud však prvky, které mají být připojeny s oddělovačem, jsou nula pak dostaneme nejednoznačnost. Je to proto, že existují dvě metody join() a nula je přijatelné pro oba typy metody join(). Sledujte následující příklad.

java výčty

Název souboru: StringJoinExample4.java

 public class StringJoinExample4 { // main method public static void main(String argvs[]) { String str = null; str = String.join('India', null); System.out.println(str); } } 

Výstup:

 /StringJoinExample4.java:7: error: reference to join is ambiguous str = String.join('India', null); ^ both method join(CharSequence,CharSequence...) in String and method join(CharSequence,Iterable) in String match /StringJoinExample4.java:7: warning: non-varargs call of varargs method with inexact argument type for last parameter; str = String.join('India', null); ^ cast to CharSequence for a varargs call cast to CharSequence[] for a non-varargs call and to suppress this warning 1 error 1 warning 

Příklad metody Java String join() 4

Pokud prvky, které mají být připojeny pomocí oddělovače, mají nějaké řetězce, z nichž několik je null, pak jsou null prvky považovány za normální řetězec a neobjeví se žádná výjimka ani chyba. Pojďme to pochopit na příkladu.

Název souboru: StringJoinExample5.java

 public class StringJoinExample5 { // main method public static void main(String argvs[]) { String str = null; // one of the element is null however it will be treated as normal string str = String.join('-', null, ' wake up ', ' eat ', ' write content for JTP ', ' eat ', ' sleep '); System.out.println(str); } } 

Výstup:

 null- wake up - eat - write content for JTP - eat - sleep