Introduction à StringBuffer
Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 45 sur 59.
StringBuffer est similaire à StringBuilder mais est thread-safe (sûr pour plusieurs opérations simultanément). Il est utilisé pour créer des chaînes mutables (modifiables).
Créez un StringBuffer avec un texte initial :
StringBuffer sb = new StringBuffer("Hello");Ajoutez plus de texte en utilisant append():
sb.append(" World");Après l'exécution du code ci-dessus, sb contient :
Hello World
Modifier le texte en utilisant insert() et replace():
StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi "); // ajoute au début
sb.replace(0, 2, "Hey"); // remplace "Hi" par "Hey"Après l'exécution du code ci-dessus, sb contient :
Hey Java
Défi
FacileCréez une méthode nommée modifyText qui prend trois arguments :
- Une String (
text) à modifier - Une String (
target) à trouver - Une String (
replacement) pour remplacer target par
La méthode devrait :
- Créer un StringBuffer avec le texte d'entrée
- Remplacer la première occurrence de target par replacement
- Ajouter un point d'exclamation à la fin
- Retourner la chaîne finale
Les messages de retour devraient être :
- Si une entrée est null : retourner "Invalid input"
- Si target n'est pas trouvé : retourner le texte original avec point d'exclamation
- Pour une opération réussie : retourner le texte modifié
Aide-mémoire
StringBuffer est thread-safe et utilisé pour créer des chaînes mutables.
Créez un StringBuffer avec du texte initial :
StringBuffer sb = new StringBuffer("Hello");Ajoutez du texte en utilisant append() :
sb.append(" World");Insérez du texte à une position spécifique :
sb.insert(0, "Hi "); // ajoute au débutRemplacez du texte en utilisant replace() :
sb.replace(0, 2, "Hey"); // remplace les caractères de l'index 0 à 2Essayez vous-même
import java.util.Scanner;
public class Main {
public static String modifyText(String text, String target, String replacement) {
// Écrivez votre code ici
}
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));
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments des tableaux 2DBoucles imbriquées avec les tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliersTableaux 3D et au-delàMotifs courants des tableaux 2DRécapitulatif - Tout sur les tableaux4HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un ÉlémentSupprimer un ÉlémentVérifier si un Élément ExisteVide et TailleVider et ClonerRécapitulatif - HashSet7Gestion des erreurs de base
Bases du try-catchBloc finallyLever des exceptionsExceptions personnalisées2HashMap Partie 1
Qu'est-ce qu'une HashMap ?Déclarer une HashMapAccéder aux ValeursVérifier si une Clé ExisteModifier les DictionnairesRécapitulatif - HashMap5HashSet Partie 2
Math - Union des HashSetsMath - Intersection des HashSetsMath - Différence d'ensemblesMath - Différence symétriqueSous-ensembles et super-ensemblesItération sur les ensembles8Opérations avancées sur les chaînes
Bases de StringBuilderIntroduction à StringBufferBases des expressions régulièresAppariement de motifs avec RegexTokenizer de chaînesFormatage avancé des chaînes3HashMap Partie 2
Méthodes HashMapItérer avec keySet()Itérer avec entrySet()HashMap imbriquéRécapitulatif - Gérer l'entrepôtRécapitulatif - Opérations HashMap6Flux de contrôle avancé
Instructions étiquetéesExpression switchAppariement de motifsClauses de gardeRécapitulatif - Flux de contrôle9Projet - Compteur de Mots Uniques
Entrée de Texte et StockageTraitement des Mots