logo

Java String join()

Det Java String klasse join() metoden returnerer en streng forbundet med en given afgrænser. I String join()-metoden kopieres afgrænsningstegnet for hvert element. join()-metoden er inkluderet i Java-strengen siden JDK 1.8.

Der er to typer join()-metoder i Java String-klassen.

Underskrift

Signaturen eller syntaksen for join()-metoden er angivet nedenfor:

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

Parametre

afgrænsning : char-værdi, der skal tilføjes med hvert element

elementer : char-værdi skal vedhæftes med afgrænsning

Vender tilbage

sammenføjet streng med skilletegn

Undtagelseskast

NullPointerException hvis element eller skilletegn er nul.

Siden

1.8

Intern implementering

 // 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(); } 

Java String join() Metodeeksempel

Filnavn: StringJoinExample.java

 public class StringJoinExample{ public static void main(String args[]){ String joinString1=String.join('-','welcome','to','javatpoint'); System.out.println(joinString1); }} 
Test det nu

Produktion:

 welcome-to-javatpoint 

Java String join() Metode eksempel 2

Vi kan bruge et skilletegn til at formatere strengen, som vi gjorde i eksemplet nedenfor for at vise dato og klokkeslæt.

Filnavn: 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); } } 

Produktion:

 25/06/2018 12:10:10 

Java String join() Metode eksempel 3

I tilfælde af at bruge null som afgrænsning, får vi null pointer undtagelsen. Følgende eksempel bekræfter det samme.

Filnavn: 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); } } 

Produktion:

 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) 

Men hvis de elementer, der skal fastgøres med afgrænsningen, er nul så får vi tvetydigheden. Det er fordi der er to join() metoder, og nul er acceptabelt for begge typer join()-metoden. Bemærk følgende eksempel.

Filnavn: 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); } } 

Produktion:

 /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 

Java String join() Metode eksempel 4

Hvis de elementer, der skal knyttes med afgrænsningstegnet, har nogle strenge, hvor nogle få af dem er nul, så behandles nul-elementerne som en normal streng, og vi får ingen undtagelse eller fejl. Lad os forstå det gennem et eksempel.

Filnavn: 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); } } 

Produktion:

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