Concatenazione di stringhe

Java:
Concatenazione di stringhe

How to:

public class ConcatenazioneStringhe {
    public static void main(String[] args) {
        // Utilizzo dell'operatore +
        String saluto = "Ciao";
        String mondo = "mondo";
        String fraseCompleta = saluto + " " + mondo + "!";
        System.out.println(fraseCompleta); // Ciao mondo!

        // Utilizzo di concat()
        String esclamazione = "Che bella giornata";
        esclamazione = esclamazione.concat(", non trovi?");
        System.out.println(esclamazione); // Che bella giornata, non trovi?

        // Utilizzo di StringBuilder
        StringBuilder costruttore = new StringBuilder();
        costruttore.append(saluto).append(", ").append(mondo).append("!");
        System.out.println(costruttore.toString()); // Ciao, mondo!
    }
}

Deep Dive

Storicamente in Java, nella fase iniziale, l’operatore + era il metodo principale per concatenare le stringhe. Non era il più efficiente, specialmente per concatenazioni multiple in cicli, dato che ogni concatenazione creava un nuovo oggetto String, risultando in un uso della memoria non ottimale.

Le alternative moderne includono StringBuilder e StringBuffer. StringBuilder è più veloce e viene usato per la concatenazione di stringhe in un contesto single-thread, mentre StringBuffer è thread-safe, ma leggermente più lento a causa del suo overhead di sincronizzazione.

Dettagli di implementazione: A partire da Java 5, l’operatore + è stato ottimizzato per usare StringBuilder internamente nei cicli, mitigando queste preoccupazioni di performance. Tuttavia, per l’elaborazione esplicita di stringhe grandi o molto frequenti, si raccomanda ancora di usare direttamente StringBuilder per una gestione più fine della memoria e della performance.

See Also