IL Unisciti alla classe String Java() Il metodo restituisce una stringa unita con un determinato delimitatore. Nel metodo String join(), il delimitatore viene copiato per ciascun elemento. Il metodo join() è incluso nella stringa Java a partire da JDK 1.8.
Esistono due tipi di metodi join() nella classe Java String.
Firma
La firma o la sintassi del metodo join() è riportata di seguito:
public static String join(CharSequence delimiter, CharSequence... elements) and public static String join(CharSequence delimiter, Iterable elements)
Parametri
delimitatore : valore char da aggiungere a ciascun elemento
elementi : valore char da allegare al delimitatore
ritorna
stringa unita con delimitatore
Tiri d'eccezione
NullPointerException se l'elemento o il delimitatore è nullo.
Da
1.8
Implementazione interna
// 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(); }
Esempio del metodo Java String join()
Nome del file: StringJoinExample.java
public class StringJoinExample{ public static void main(String args[]){ String joinString1=String.join('-','welcome','to','javatpoint'); System.out.println(joinString1); }}Provalo adesso
Produzione:
welcome-to-javatpoint
Metodo Java String join() Esempio 2
Possiamo utilizzare un delimitatore per formattare la stringa come abbiamo fatto nell'esempio seguente per mostrare la data e l'ora.
Nome del file: 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); } }
Produzione:
25/06/2018 12:10:10
Metodo Java String join() Esempio 3
Nel caso in cui si utilizzi null come delimitatore, si ottiene l'eccezione del puntatore null. L'esempio seguente conferma la stessa cosa.
Nome del file: 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); } }
Produzione:
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)
Tuttavia, se gli elementi che devono essere allegati con il delimitatore lo sono nullo quindi, otteniamo l'ambiguità. È perché ci sono due metodi join() e nullo è accettabile per entrambi i tipi del metodo join(). Osservare il seguente esempio.
Nome del file: 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); } }
Produzione:
/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
Metodo Java String join() Esempio 4
Se gli elementi che devono essere allegati con il delimitatore hanno delle stringhe, in cui alcune di esse sono nulle, allora gli elementi nulli vengono trattati come una stringa normale e non otteniamo alcuna eccezione o errore. Capiamolo attraverso un esempio.
Nome del file: 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); } }
Produzione:
null- wake up - eat - write content for JTP - eat - sleep