El Unión de clase de cadena Java () El método devuelve una cadena unida con un delimitador determinado. En el método String join(), el delimitador se copia para cada elemento. El método join() está incluido en la cadena Java desde JDK 1.8.
Hay dos tipos de métodos join() en la clase Java String.
pila java
Firma
La firma o sintaxis del método join() se proporciona a continuación:
public static String join(CharSequence delimiter, CharSequence... elements) and public static String join(CharSequence delimiter, Iterable elements)
Parámetros
delimitador : valor de carácter que se agregará con cada elemento
elementos : valor de carácter que se adjuntará con delimitador
Devoluciones
cadena unida con delimitador
Lanzamientos de excepción
Excepción de puntero nulo si el elemento o delimitador es nulo.
Desde
1.8
Implementación 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(); }
Ejemplo de método Java String join()
Nombre del archivo: StringJoinExample.java
public class StringJoinExample{ public static void main(String args[]){ String joinString1=String.join('-','welcome','to','javatpoint'); System.out.println(joinString1); }}Pruébalo ahora
Producción:
welcome-to-javatpoint
Ejemplo 2 del método Java String join()
Podemos usar un delimitador para formatear la cadena como lo hicimos en el siguiente ejemplo para mostrar la fecha y la hora.
Nombre del archivo: 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); } }
Producción:
zeenat un actor
25/06/2018 12:10:10
Ejemplo 3 del método Java String join()
En el caso de utilizar nulo como delimitador, obtenemos la excepción del puntero nulo. El siguiente ejemplo confirma lo mismo.
Nombre del archivo: 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); } }
Producción:
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)
Sin embargo, si los elementos que deben unirse con el delimitador son nulo entonces, obtenemos la ambigüedad. Es porque hay dos métodos join() y nulo es aceptable para ambos tipos del método join(). Observe el siguiente ejemplo.
Nombre del archivo: 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); } }
Producción:
/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
Ejemplo 4 del método Java String join()
Si los elementos que deben adjuntarse con el delimitador tienen algunas cadenas, de las cuales algunas son nulas, entonces los elementos nulos se tratan como una cadena normal y no obtenemos ninguna excepción o error. Entendámoslo a través de un ejemplo.
Nombre del archivo: StringJoinExample5.java
¿Qué es el conjunto de hash de 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); } }
Producción:
null- wake up - eat - write content for JTP - eat - sleep