Iniciar sesión

StringBuilder y comparación de Strings en Java

Concatenar texto de forma eficiente

Unidad: Arrays y Strings Lección 4 de 4 Gratis
🧱
StringBuilder
Como los String son inmutables, concatenar muchos textos con + dentro de un bucle crea muchos objetos innecesarios y es lento. StringBuilder resuelve esto: modifica el mismo objeto en memoria.
StringBuilder sb = new StringBuilder(); sb.append("Hola"); sb.append(", "); sb.append("mundo"); String resultado = sb.toString(); // "Hola, mundo"
Para comparar el contenido de dos Strings se usa .equals(). Para comparar orden alfabético, .compareTo().

Pon a prueba lo que aprendiste

Concepto

¿Por qué conviene usar StringBuilder en vez de + dentro de un bucle con muchas concatenaciones?

  1. APorque + crea un String nuevo cada vez, siendo lento en bucles largos
  2. BNo hay ninguna diferencia real
  3. CPorque StringBuilder es obligatorio en Java moderno
  4. DPorque + no funciona con más de 2 textos
Ver respuesta
A) Porque + crea un String nuevo cada vez, siendo lento en bucles largos StringBuilder modifica el mismo buffer en memoria, evitando crear un String nuevo en cada vuelta.
Sintaxis

¿Qué método agrega texto a un StringBuilder?

  1. Aconcat()
  2. Bappend()
  3. Cadd()
  4. Dpush()
Ver respuesta
B) append() Append() agrega al final del contenido actual.
Trazar código

¿Qué imprime este código?

StringBuilder sb = new StringBuilder(); sb.append("a").append("b").append("c"); System.out.println(sb.toString());
  1. AError, no se puede encadenar append
  2. B"a b c"
  3. C"abc"
  4. D"cba"
Ver respuesta
C) "abc" Append() devuelve el mismo StringBuilder, por eso se puede encadenar, y va concatenando: "abc".

🎯 Practica esta lección completa

Ejercicios de completar código, ordenar bloques y respuesta libre. Ganas XP y mantienes tu racha.

Practicar gratis, sin registrarte Entras como invitado directo a esta lección. Sin tarjeta.