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
- Java String - Documentazione ufficiale.
- StringBuilder vs StringBuffer - Differenze e quando usarli.