Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara StringBuilder | String
Basi di Java
Sezione 5. Capitolo 6
single

single

StringBuilder

Scorri per mostrare il menu

Cos'è StringBuilder?

StringBuilder è una classe di utilità per la manipolazione e la modifica di oggetti stringa.

Note
Nota

Ulteriori informazioni sulle classi, su come crearle e su come utilizzarle correttamente saranno trattate in un corso separato.

StringBuilder offre i propri metodi e creare un oggetto StringBuilder è semplice e intuitivo.

Main.java

Main.java

1
StringBuilder builder = new StringBuilder();

All'interno delle parentesi, è possibile anche passare un valore stringa, e la nostra variabile StringBuilder conterrà tale valore:

Main.java

Main.java

1
StringBuilder builder = new StringBuilder("c<>definity");

Per stampare il nostro valore sulla console, è necessario utilizzare uno dei metodi di StringBuilder. Si tratta del metodo toString(), che converte il valore di StringBuilder in un valore di tipo String. Vediamo un esempio:

Main.java

Main.java

123456789
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); } }
Note
Nota

Ricorda che se il tuo StringBuilder ha un valore null, verrà generata una NullPointerException (NPE).

StringBuilder in azione

StringBuilder offre un ricco insieme di metodi, tra cui uno dei più preziosi e frequentemente utilizzati è append(String str). Questo metodo consente di aggiungere una stringa specificata al contenuto esistente di un oggetto StringBuilder.

Esaminiamo un esempio di codice:

Main.java

Main.java

12345678910111213141516
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); } }

Perché non usare l'operatore +?

Si preferisce il metodo append di StringBuilder perché evita la creazione di molteplici oggetti temporanei, migliorando le prestazioni quando si modifica ripetutamente il contenuto. Utilizzare l'operatore + crea un nuovo oggetto ogni volta, il che è oneroso in termini di memoria e tempo. StringBuilder modifica direttamente il contenuto, risultando più efficiente per cambiamenti ripetuti.

Compito

Scorri per iniziare a programmare

Stai creando una visualizzazione dei prodotti per una pagina web. Ogni prodotto ha un nome e un prezzo, e sono memorizzati in un array 2D.
Devi formattare l'intera lista in una stringa ben strutturata utilizzando un StringBuilder.

  1. Creare un metodo chiamato buildProductList(String[][] products) che restituisce una String formattata.
  2. Inizializzare un StringBuilder e aggiungere l'intestazione:
    "Product List:\n"
  3. Scorrere l'array products utilizzando un ciclo for-each.
  4. Per ogni prodotto:
    • Estrarre il nome (product[0])
    • Estrarre il prezzo (product[1])
    • Aggiungere una riga al StringBuilder nel formato:
      ProductName - $Price\n
  5. Restituire la String completa dal StringBuilder.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 6
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt