Construcción de cadenas con StringBuilder
Concatenación eficiente
Construcción de cadenas con StringBuilder es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.
Un creador de cadenas mutable
StringBuilder es una secuencia mutable de caracteres. A diferencia de String, puede cambiar su contenido en el mismo objeto, lo que hace eficiente la construcción de texto.
Crear un StringBuilder
Cree uno con new StringBuilder() para obtener un builder vacío, o pase un texto inicial para comenzar con contenido.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
StringBuilder named = new StringBuilder("Hello");
System.out.println("empty length: " + sb.length());
System.out.println("named: " + named);
}
}Añadir texto
El método append añade contenido al final. Acepta cadenas, números, caracteres, valores booleanos y otros tipos.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("Count: ");
sb.append(5);
sb.append(' ');
sb.append(true);
System.out.println(sb);
}
}Encadenamiento de métodos
append devuelve el mismo builder, por lo que puede encadenar las llamadas de forma fluida en una sola expresión.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("a").append("b").append("c").append(123);
System.out.println(sb);
}
}Construir en un bucle
Este es el caso de uso principal. Añada contenido dentro de un bucle sin crear un objeto nuevo cada vez y convierta el resultado una sola vez al final.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 10; i++) {
sb.append(i).append(' ');
}
System.out.println(sb.toString().trim());
}
}Convertir en un String
Llame a toString() para obtener un String inmutable normal a partir del builder cuando termine de modificarlo.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("result");
String finalText = sb.toString();
System.out.println(finalText.toUpperCase());
}
}Unir con un separador
Puede construir listas separadas por comas añadiendo un separador entre los elementos y tratando el último con cuidado.
public class Main {
public static void main(String[] args) {
String[] names = {"Ann", "Ben", "Cara"};
StringBuilder sb = new StringBuilder();
for (int i = 0; i < names.length; i++) {
sb.append(names[i]);
if (i < names.length - 1) {
sb.append(", ");
}
}
System.out.println(sb);
}
}Leer la longitud
length() indica cuántos caracteres contiene actualmente el builder. Su valor se actualiza a medida que añade contenido.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("12345");
System.out.println("Length: " + sb.length());
}
}Acceder a los caracteres
Use charAt(index) para leer un carácter individual según su posición, igual que con un String.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Coddy");
System.out.println("First: " + sb.charAt(0));
System.out.println("Last: " + sb.charAt(sb.length() - 1));
}
}Capacidad y longitud
Un builder mantiene un búfer interno (la capacidad) que crece automáticamente. Puede pasar una capacidad inicial para reducir los cambios de tamaño cuando conozca el tamaño final.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder(100);
sb.append("short");
System.out.println("Length: " + sb.length());
System.out.println("Capacity at least: " + (sb.capacity() >= 100));
}
}Un builder práctico
Juntando todo: construya de forma eficiente una cadena pequeña para un informe mediante llamadas encadenadas a append y un bucle.
public class Main {
public static void main(String[] args) {
int[] sales = {100, 250, 75};
StringBuilder report = new StringBuilder("Sales Report\n");
int total = 0;
for (int i = 0; i < sales.length; i++) {
report.append("Day ").append(i + 1).append(": ").append(sales[i]).append('\n');
total += sales[i];
}
report.append("Total: ").append(total);
System.out.println(report);
}
}Comprobación rápida
¿Por qué StringBuilder es más eficiente que repetir concatenaciones con + dentro de un bucle?
Resumen
Ha aprendido a construir cadenas con StringBuilder:
- Es una secuencia de caracteres mutable
appendañade contenido y admite el encadenamiento- Es ideal para construir texto en bucles
- Llame a
toString()para obtener elStringfinal - Una capacidad inicial evita cambios de tamaño
Preguntas frecuentes
¿La lección «Construcción de cadenas con StringBuilder» es gratis?
Sí — el texto completo de «Construcción de cadenas con StringBuilder» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Construcción de cadenas con StringBuilder»?
Concatenación eficiente Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Java Academy?
No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Construcción de cadenas con StringBuilder»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Java Academy?
Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Por qué las cadenas son inmutables
- Construcción de cadenas con StringBuilder
- Métodos de StringBuilder
- StringBuilder frente a StringBuffer