Introduzione a StringBuffer
Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 45 di 59.
StringBuffer è simile a StringBuilder, ma è thread-safe (sicuro per più operazioni allo stesso tempo). Si usa per creare stringhe mutabili (modificabili).
Crea uno StringBuffer con il testo iniziale:
StringBuffer sb = new StringBuffer("Hello");Aggiungi altro testo usando append():
sb.append(" World");Dopo aver eseguito il codice qui sopra, sb contiene:
Hello World
Modifica il testo usando insert() e replace():
StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi "); // aggiunge all'inizio
sb.replace(0, 2, "Hey"); // sostituisce "Hi" con "Hey"Dopo aver eseguito il codice qui sopra, sb contiene:
Hey Java
Sfida
FacileCrea un metodo denominato modifyText che accetta tre argomenti:
- Una String (
text) da modificare - Una String (
target) da trovare - Una String (
replacement) con cui sostituire target
Il metodo dovrebbe:
- Creare uno StringBuffer con il testo di input
- Sostituire la prima occorrenza di target con replacement
- Aggiungere un punto esclamativo alla fine
- Restituire la stringa finale
I messaggi restituiti dovrebbero essere:
- Se un input è null: restituire "Invalid input"
- Se target non viene trovato: restituire il testo originale con un punto esclamativo
- In caso di operazione riuscita: restituire il testo modificato
Provalo tu
import java.util.Scanner;
public class Main {
public static String modifyText(String text, String target, String replacement) {
// Scrivi il tuo codice qui
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
String target = scanner.nextLine();
String replacement = scanner.nextLine();
if (text.equals("null")) text = null;
if (target.equals("null")) target = null;
if (replacement.equals("null")) replacement = null;
System.out.println(modifyText(text, target, replacement));
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap5HashSet Parte 2
Matematica - Unione di HashSetMatematica - Intersezione di HashSetMatematica - Differenza tra insiemiMatematica - Differenza simmetricaSottoinsiemi e sovrainsiemiIterare sugli insiemi8Operazioni avanzate sulle stringhe
Fondamenti di StringBuilderIntroduzione a StringBufferFondamenti delle espressioni regolariCorrispondenza di pattern con le regexTokenizer di stringheFormattazione avanzata delle stringhe3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online