Ciao, sto cercando di capire il funzionamento delle stringhe...
Il mi libro dice che le stringhe sono oggetti immutabili, che una volta creati non possono più essere modificati. Gli stringBuffer invece possono mutare, e se il testo che ci immettiamo è più grande di quanto potrebbe essere il compilatore aggiunge in autoamtico i byte per completare la stringa...
Allora per fare una prova ho scritto questo programma:
codice:
import javax.swing.*;
public class stringhe {
public static void main(String[] args) {
String s1 = "ciao";
String output = "s1: " + s1;
s1 = "ss";
JOptionPane.showMessageDialog(null, output, "Sskdn", JOptionPane.INFORMATION_MESSAGE);
s1 = "ssaafR";
output = "s1: " + s1;
JOptionPane.showMessageDialog(null, output, "Sskdn", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
Il primo output stampa Ciao (4lettere), mentre il secondo stampa ssaafR (6 lettere)?
Ma appena tentao di cambiare un carattere non doveva darmi errore?
In questo modo mi sembra che String e StringBuffer siano la stessa cosa... no?
Grazie