logo

Concatenación de cadenas en Java

En Java, la concatenación de cadenas forma una nueva cadena que es la combinación de varias cadenas. Hay dos formas de concatenar cadenas en Java:

  1. Por operador + (concatenación de cadenas)
  2. Por el método concat()

1) Concatenación de cadenas mediante el operador + (concatenación de cadenas)

El operador de concatenación de cadenas de Java (+) se utiliza para agregar cadenas. Por ejemplo:

TestStringConcatenation1.java

 class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } } 
Pruébalo ahora

Producción:

 Sachin Tendulkar 

El El compilador Java se transforma código anterior a esto:

 String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString(); 

En Java, la concatenación de cadenas se implementa a través de la clase StringBuilder (o StringBuffer) y su método append. El operador de concatenación de cadenas produce una nueva cadena agregando el segundo operando al final del primer operando. El operador de concatenación de cadenas puede concatenar no solo cadenas sino también valores primitivos. Por ejemplo:

Linux cómo cambiar el nombre de un directorio

TestStringConcatenation2.java

 class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } } 
Pruébalo ahora

Producción:

 80Sachin4040 

Nota: Después de un literal de cadena, todos los + se tratarán como operadores de concatenación de cadenas.

2) Concatenación de cadenas mediante el método concat()

El método String concat() concatena la cadena especificada al final de la cadena actual. Sintaxis:

 public String concat(String another) 

Veamos el ejemplo del método String concat().

TestStringConcatenation3.java

 class TestStringConcatenation3{ public static void main(String args[]){ String s1='Sachin '; String s2='Tendulkar'; String s3=s1.concat(s2); System.out.println(s3);//Sachin Tendulkar } } 
Pruébalo ahora

Producción:

 Sachin Tendulkar 

El programa Java anterior concatena dos objetos String s1 y s2 usando concat() método y almacena el resultado en s3 objeto.

Hay otras formas posibles de concatenar cadenas en Java,

expresión de regresión en java

1. Concatenación de cadenas usando la clase StringBuilder

StringBuilder es una clase que proporciona el método append() para realizar operaciones de concatenación. El método append() acepta argumentos de diferentes tipos como Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder es la forma más popular y rápida de concatenar cadenas en Java. Es una clase mutable, lo que significa que los valores almacenados en los objetos StringBuilder se pueden actualizar o cambiar.

StrBuilder.java

 public class StrBuilder { /* Driver Code */ public static void main(String args[]) { StringBuilder s1 = new StringBuilder('Hello'); //String 1 StringBuilder s2 = new StringBuilder(' World'); //String 2 StringBuilder s = s1.append(s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

Producción:

 Hello World 

En el fragmento de código anterior, s1, s2 y s son declarados como objetos de Constructor de cadenas clase. s almacena el resultado de la concatenación de s1 y s2 usando adjuntar () método.

2. Concatenación de cadenas mediante el método format()

El método String.format() permite concatenar varias cadenas utilizando un especificador de formato como %s seguido de los valores u objetos de la cadena.

StrFormat.java

 public class StrFormat { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.format('%s%s',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

Producción:

 Hello World 

Aquí, los objetos String s se le asigna el resultado concatenado de Strings s1 y s2 usando Cadena.formato() método. format() acepta parámetros como especificador de formato seguido de objetos o valores de cadena.

3. Concatenación de cadenas utilizando el método String.join() (Java Versión 8+)

El método String.join() está disponible en la versión 8 de Java y en todas las versiones anteriores. El método String.join() acepta argumentos primero, un separador y una matriz de objetos String.

StrJoin.java:

 public class StrJoin { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.join('',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

Producción:

 Hello World 

En el fragmento de código anterior, el objeto String s almacena el resultado de Cadena.unir('',s1,s2) método. Se especifica un separador entre comillas seguido de los objetos String o la matriz de objetos String.

4. Concatenación de cadenas usando la clase StringJoiner (Java Versión 8+)

La clase StringJoiner tiene todas las funcionalidades del método String.join(). De antemano, su constructor también puede aceptar argumentos, prefijos y sufijos opcionales.

serie de fibonacci en java

StrJoiner.java

 public class StrJoiner { /* Driver Code */ public static void main(String args[]) { StringJoiner s = new StringJoiner(', '); //StringeJoiner object s.add('Hello'); //String 1 s.add('World'); //String 2 System.out.println(s.toString()); //Displays result } } 

Producción:

 Hello, World 

En el fragmento de código anterior, el objeto StringJoiner s se declara y el constructor StringJoiner() acepta un valor separador. Se especifica un separador entre comillas. El método add() agrega cadenas pasadas como argumentos.

5. Concatenación de cadenas mediante el método Collectors.joining() (Java (Java Versión 8+)

La clase Collectors en Java 8 ofrece el método join() que concatena los elementos de entrada en un orden similar al que aparecen.

ColJoining.java

 import java.util.*; import java.util.stream.Collectors; public class ColJoining { /* Driver Code */ public static void main(String args[]) { List liststr = Arrays.asList('abc', 'pqr', 'xyz'); //List of String array String str = liststr.stream().collect(Collectors.joining(', ')); //performs joining operation System.out.println(str.toString()); //Displays result } } 

Producción:

 abc, pqr, xyz 

Aquí, se declara una lista de matrices de cadenas. Y un objeto String cadena almacena el resultado de Coleccionistas.uniéndose() método.