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