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