The Clasa Java String join() metoda returnează un șir alăturat cu un delimitator dat. În metoda String join(), delimitatorul este copiat pentru fiecare element. Metoda join() este inclusă în șirul Java începând cu JDK 1.8.
Există două tipuri de metode join() în clasa Java String.
Semnătură
Semnătura sau sintaxa metodei join() este dată mai jos:
public static String join(CharSequence delimiter, CharSequence... elements) and public static String join(CharSequence delimiter, Iterable elements)
Parametrii
delimitator : valoarea char care trebuie adăugată cu fiecare element
șir în json java
elemente : valoare de caracter care trebuie atașată cu delimitator
Se intoarce
șir îmbinat cu delimitator
Excepție aruncări
NullPointerException dacă elementul sau delimitatorul este nul.
De cand
1.8
.06 sub formă de fracție
Implementare internă
// 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(); }
Exemplu de metodă Java String join().
Nume de fișier: StringJoinExample.java
public class StringJoinExample{ public static void main(String args[]){ String joinString1=String.join('-','welcome','to','javatpoint'); System.out.println(joinString1); }}Testează-l acum
Ieșire:
welcome-to-javatpoint
Metoda Java String join() Exemplul 2
Putem folosi un delimitator pentru a formata șirul așa cum am făcut în exemplul de mai jos pentru a afișa data și ora.
Nume de fișier: 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); } }
Ieșire:
25/06/2018 12:10:10
Metoda Java String join() Exemplul 3
În cazul utilizării null ca delimitator, obținem excepția pointerului nul. Următorul exemplu confirmă același lucru.
obține data curentă în java
Nume de fișier: 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); } }
Ieșire:
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)
Totuși, dacă elementele care trebuie atașate cu delimitatorul sunt nul apoi, obținem ambiguitatea. Se datorează faptului că există două metode join() și nul este acceptabil pentru ambele tipuri de metoda join(). Observați următorul exemplu.
diana mary blacker
Nume de fișier: 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); } }
Ieșire:
/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
Metoda Java String join() Exemplul 4
Dacă elementele care trebuie atașate cu delimitator au niște șiruri, în care câteva dintre ele sunt nule, atunci elementele nule sunt tratate ca un șir normal și nu primim nicio excepție sau eroare. Să înțelegem printr-un exemplu.
Nume de fișier: 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); } }
Ieșire:
null- wake up - eat - write content for JTP - eat - sleep