Menu
Coddy logo textTech

Conceptos Básicos de StringBuilder

Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 44 de 59.

StringBuilder se utiliza para crear cadenas mutables (modificables). Es más eficiente que la concatenación de String regular cuando necesitas modificar cadenas múltiples veces.

Crear un StringBuilder con texto inicial:

StringBuilder sb = new StringBuilder("Hello");

Añadir más texto usando append():

sb.append(" World");

Después de ejecutar el código anterior, sb contiene:

Hello World

Usemos insert() para agregar texto en una posición específica:

StringBuilder sb = new StringBuilder("Java");
sb.append(" is");      // agrega al final
sb.insert(0, "Hey ");  // agrega en la posición 0 (inicio)

Después de ejecutar el código anterior, sb contiene:

Hey Java is

Convirtiendo StringBuilder a String:
Cuando necesites devolver o almacenar el resultado como un String, usa toString():

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");

String result = sb.toString();  // Convierte a String
System.out.println(result);     // Imprime: Hello World

¿Por qué usar toString()? Métodos que devuelven el tipo String no pueden devolver un StringBuilder directamente - debes convertirlo primero usando toString().

challenge icon

Desafío

Fácil

Crea un método llamado buildPhrase que tome tres argumentos:

  1. Una String (start) para el comienzo de la frase
  2. Una String (middle) para la parte media
  3. Una String (end) para el final

El método debe:

  1. Crear un StringBuilder con la cadena start
  2. Agregar un espacio y la cadena middle
  3. Agregar un espacio y la cadena end
  4. Agregar un signo de exclamación al final
  5. Devolver la cadena final

Los mensajes de retorno deben ser:

  • Si cualquier entrada es null: devolver "Invalid input"
  • Para una operación exitosa: devolver la frase construida

Hoja de referencia

StringBuilder se utiliza para crear cadenas mutables, más eficiente que la concatenación de String para múltiples modificaciones.

Crear un StringBuilder con texto inicial:

StringBuilder sb = new StringBuilder("Hello");

Agregar texto al final usando append():

sb.append(" World");

Insertar texto en una posición específica usando insert():

sb.insert(0, "Hey ");  // agrega en la posición 0 (inicio)

Convertir StringBuilder a String:

String result = sb.toString();

Pruébalo tú mismo

import java.util.Scanner;

public class Main {
    public static String buildPhrase(String start, String middle, String end) {
        // Escribe tu código aquí
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String start = scanner.nextLine();
        String middle = scanner.nextLine();
        String end = scanner.nextLine();
        
        if (start.equals("null")) start = null;
        if (middle.equals("null")) middle = null;
        if (end.equals("null")) end = null;
        
        System.out.println(buildPhrase(start, middle, end));
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo