logo

Java String join()

El Unió a la classe Java String() El mètode retorna una cadena unida amb un delimitador determinat. En el mètode String join(), el delimitador es copia per a cada element. El mètode join() s'inclou a la cadena Java des del JDK 1.8.

Hi ha dos tipus de mètodes join() a la classe Java String.

string dividida bash

Signatura

La signatura o sintaxi del mètode join() es mostra a continuació:

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

Paràmetres

delimitador : valor de caràcters a afegir amb cada element

elements : valor de caràcter que s'ha d'adjuntar amb el delimitador

Devolucions

cadena unida amb delimitador

Llançaments d'excepció

NullPointerException si l'element o el delimitador és nul.

Des de

1.8

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

Exemple del mètode Java String join().

Nom de l'arxiu: StringJoinExample.java

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

Sortida:

 welcome-to-javatpoint 

Exemple 2 del mètode Java String join()

Podem utilitzar un delimitador per formatar la cadena com vam fer a l'exemple següent per mostrar la data i l'hora.

Nom de l'arxiu: 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); } } 

Sortida:

Heapify sort
 25/06/2018 12:10:10 

Mètode Java String join() Exemple 3

En el cas d'utilitzar null com a delimitador, obtenim l'excepció del punter nul. L'exemple següent confirma el mateix.

Nom de l'arxiu: 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); } } 

Sortida:

 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) 

Tanmateix, si els elements que s'han d'adjuntar amb el delimitador ho són nul llavors, obtenim l'ambigüitat. És perquè hi ha dos mètodes join() i nul és acceptable per als dos tipus de mètode join(). Observeu l'exemple següent.

Nom de l'arxiu: 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); } } 

Sortida:

 /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 

Exemple 4 del mètode Java String join()

Si els elements que s'han d'adjuntar amb el delimitador tenen algunes cadenes, en les quals algunes són nul·les, aleshores els elements nuls es tracten com una cadena normal i no obtenim cap excepció o error. Entenem-ho amb un exemple.

Nom de l'arxiu: StringJoinExample5.java

què vol dir xdxd
 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); } } 

Sortida:

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