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 habitual de String cuando necesitas modificar cadenas varias veces.
Crea un StringBuilder con texto inicial:
StringBuilder sb = new StringBuilder("Hello");Añade más texto usando append():
sb.append(" World");Después de ejecutar el código anterior, sb contiene:
Hello World
Usemos insert() para añadir texto en una posición específica:
StringBuilder sb = new StringBuilder("Java");
sb.append(" is"); // añade al final
sb.insert(0, "Hey "); // añade en la posición 0 (inicio)Después de ejecutar el código anterior, sb contiene:
Hey Java is
Convertir StringBuilder en 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()? Los métodos que devuelven el tipo String no pueden devolver directamente un StringBuilder; primero debes convertirlo usando toString().
Desafío
FácilCrea un método llamado buildPhrase que acepte tres argumentos:
- Un String (
start) para el comienzo de la frase - Un String (
middle) para la parte central - Un String (
end) para el final
El método debe:
- Crear un StringBuilder con la cadena inicial
- Añadir un espacio y la cadena central
- Añadir un espacio y la cadena final
- Añadir un signo de exclamación al final
- Devolver la cadena final
Los mensajes devueltos deben ser:
- Si alguna entrada es null: devolver "Invalid input"
- En caso de operación exitosa: devolver la frase creada
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));
}
}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
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap5HashSet Parte 2
Matemáticas - Unión de HashSetsMatemáticas - Intersección de HashSetMatemáticas - Diferencia de ConjuntosMatemáticas - Diferencia SimétricaSubconjuntos y SuperconjuntosIterando Sobre Conjuntos8Operaciones Avanzadas con Cadenas
Conceptos Básicos de StringBuilderIntroducción a StringBufferConceptos Básicos de Expresiones RegularesCoincidencia de Patrones con RegexTokenizador de CadenasFormato Avanzado de Cadenas3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de PalabrasPractica por tu cuenta: Compilador de Java online