StringBuilder
Qu'est-ce que StringBuilder ?
StringBuilder
est une classe utilitaire permettant de manipuler et de modifier des objets de type chaîne de caractères.
StringBuilder
propose ses propres méthodes, et la création d'un objet StringBuilder
est simple et intuitive.
Main
StringBuilder builder = new StringBuilder();
À l'intérieur des parenthèses, nous pouvons également passer une valeur de chaîne de caractères, et notre variable StringBuilder
contiendra cette valeur :
Main
StringBuilder builder = new StringBuilder("c<>definity");
Pour afficher notre valeur dans la console, il est nécessaire d'utiliser l'une des méthodes de StringBuilder
. Il s'agit de la méthode toString()
, qui convertit la valeur du StringBuilder en une valeur de type String.
Examinons un exemple :
Main
package com.example; public class Main { public static void main(String[] args) { StringBuilder builder = new StringBuilder("c<>definity"); String string = builder.toString(); System.out.println(string); } }
StringBuilder en action
StringBuilder
offre un ensemble complet de méthodes, parmi lesquelles l'une des plus précieuses et fréquemment utilisées est append(String str)
. Cette méthode permet d'ajouter une chaîne spécifiée au contenu existant d'un objet StringBuilder
.
Examinons un exemple de code :
Main
package com.example; public class Main { public static void main(String[] args) { // Initializing the new `String` with value "Hello" String hello = "Hello"; System.out.println("Our string before using an append() method: " + hello); // Initializing a new `StringBuilder` with value of our already initialized string StringBuilder builder = new StringBuilder(hello); // Using `append()` method, adding a string world to our `StringBuilder` builder = builder.append(" world!"); // Creating a new `String` variable that has a `StringBuilder` value String result = builder.toString(); System.out.println("Our string after using an append() method: " + result); } }
Pourquoi ne pas utiliser l’opérateur + ?
La principale raison pour laquelle nous privilégions la méthode append
de StringBuilder est qu’elle minimise la création d’objets temporaires, ce qui améliore les performances lors de modifications répétées du contenu. Chaque utilisation de l’opérateur +
crée un nouvel objet, ce qui peut être coûteux en termes de mémoire et de temps. StringBuilder
modifie directement le contenu, le rendant bien plus efficace pour les modifications répétées.
Swipe to start coding
Vous développez un affichage de produits pour une page web. Chaque produit possède un nom et un prix, stockés dans un tableau 2D.
Vous devez formater la liste complète dans une chaîne de caractères bien structurée à l'aide d'un StringBuilder
.
- Créer une méthode nommée
buildProductList(String[][] products)
qui retourne uneString
formatée. - Initialiser un
StringBuilder
et ajouter l'en-tête :
"Product List:\n"
- Parcourir le tableau
products
à l'aide d'une boucle for-each. - Pour chaque produit :
- Extraire le nom (
product[0]
) - Extraire le prix (
product[1]
) - Ajouter une ligne au
StringBuilder
au format :
ProductName - $Price\n
- Extraire le nom (
- Retourner la
String
complète à partir duStringBuilder
.
Solution
solution
Merci pour vos commentaires !