Perché il StringBuffer
ha un limite alle sue dimensioni?Dimensioni massime per StringBuffer
Ho esaminato alcuni collegamenti: http://www.coderanch.com/t/540346/java/java/maximum-size-hold-String-buffer.
È a causa della variabile membro di conteggio, che è un int?
Supponiamo di disporre di 2^31-1 caratteri in StringBuffer
e che aggiungiamo altri caratteri a quello StringBuffer
. La variabile membro di conteggio sarebbe incrementata dal numero di caratteri aggiunti e se la variabile Count è già al massimo (2^31-1), ritornerebbe ad un valore negativo.
Perché genera un errore?
Non utilizzare uno StringBuffer quando è possibile utilizzare uno StringBuilder (ha lo stesso limite però) –
A 2^32-1 StringBuilder richiederebbe 4 GB. Ti piace creare una stringa così lunga? –