Tabla de Contenidos
En la mayoría de los lenguajes de programación, Java incluido, concatenar se refiere a la operación de unir dos o más cadenas de caracteres en una sola cadena nueva más larga. Esto se puede hacer de maneras diferentes dependiendo del lenguaje de programación que se esté utilizando, e incluso en un mismo lenguaje de programación, suelen existir varias formas de concatenar cadenas.
En el caso del lenguaje de programación Java, las cadenas entran dentro de uno de los tipos de datos más importantes denominado String. En Java, los String son objetos ,y hay dos formas distintas de concatenarlos: una es utilizando el operador de adición o suma (+), y la otra utilizando el método concat() de la clase String.
Veamos cómo funcionan ambos métodos:
Concatenar cadenas en Java utilizando el operador +
Esta es una de las formas más sencillas y utilizadas para concatenar cadenas de caracteres en Java. Esta forma de concatenación consiste, simplemente, en interponer el operador + entre las cadenas que se desea concatenar.
Por ejemplo, si escribimos:
“Así se concatenan cadenas” + “ en Java.”
El resultado será: Así se concatenan cadenas en Java.
El operador + permite concatenar varias cadenas consecutivas
Una de las ventajas de concatenar utilizando el operador + es que permite concatenar múltiples cadenas de caracteres, una después de otra. Por ejemplo, si quisiéramos combinar “Así se concatenan cadenas” con “ en Java.” Y “ ¡Es muy fácil!”, entonces solo haría falta interponer el operdor + entre cada pareja de expresiones:
“Así se concatenan cadenas” + “ en Java.” + “ ¡Es muy fácil!”
Esto resultará en una cadena que dirá: Así se concatenan cadenas en Java. ¡Es muy fácil!
El operador + se puede utilizar dentro de la sentencia println()
En caso de que se desee imprimir el resultado de concatenar varias cadenas de caracteres, esto es tan sencillo como utilizar el operador + dentro de la sentencia println().
El operador + permite combinar en forma de string objetos diferentes
Una característica importante del operador + es que admite como argumentos variables previamente definidas, así como números y cadenas literales (expresiones entrecomilladas tales como “Hola mundo”).
El operador logra esto ya que, de forma automática, llama al método toString() cuando actúa sobre objetos que no sean cadenas, transformándolos en cadenas antes de concatenarlos con lo demás. De esta forma, se puede utilizar para generar mensajes en forma de cadenas de caracteres a partir de otros objetos en el entorno de programación.
Por ejemplo, el siguiente código define algunos objetos diferentes y luego utiliza el operador + para concatenarlos en un único String para luego imprimirlo en pantalla:
String mensage1 = “Así se concatenan cadenas ”;
String mensaje2 = “ objetos diferentes.”;
Int numob = 3;
System.out.println(mensaje1 + “a partir de “ + numob + mensaje2);
La ejecución de este código imprimirá el siguiente mensaje:
Así se concatenan cadenas a partir de 3 objetos diferentes.
Concatenar cadenas en Java utilizando el método «concat()» de la clase String
En Java, la clase de objetos String tiene el método concat() que cumple una función similar a la del operador +, es decir, que permite concatenar una cadena de caracteres con otra. Sin embargo, tiene algunas diferencias fundamentales con dicho operador.
Este método actúa concatenando a la cadena o String original los caracteres de un segundo String que toma como argumento. Por ejemplo:
String mensage1 = “Así se concatenan cadenas ”; // esto crea el String mensage1
String mensaje2 = “utilizando el método concat().”; // esto crea el String mensage2
mensaje1 = mensaje1.concat(mensaje2); // esto concatena mensage1 con mensaje2
System.out.println(mensaje1)
El resultado de este código es que se imprimirá en pantalla:
Así se concatenan cadenas utilizando el método concat().
¿Qué forma de concatenar es preferible en Java?
La pregunta natural cuando hay más de una forma de hacer las cosas es: «¿Cuál es mejor?»
En términos generales, el operador + es más versátil que el método concat() por varias razones:
- Permite concatenar un número ilimitado de objetos mientras que el método concat solo permite concatenar dos a la vez.
- Permite combinar distintas clases de objetos en una sola cadena ya que llama automáticamente al método toString() cuando una variable o un objeto no es una cadena. En cambio, concat solo se puede llamar para un objeto que sea un String, y solo toma como parámetro otro String.
Estas dos razones hacen que el operador + se utilice con mucha más frecuencia que el método concat. Sin embargo, hay una situación en la que el método concat puede resultar beneficioso. A diferencia del operador +, el método concat no transforma su argumento en cadena. Por esta razón, si se trata de concatenar un objeto que no existe, la aplicación dará un error (NullPointerException) y no pasará inadvertido, como sí sucedería si se utiliza el operador + en su lugar.