Come da titolo...
Quanti caratteri regge una variabile stringa?
grazie![]()
Come da titolo...
Quanti caratteri regge una variabile stringa?
grazie![]()
no limit![]()
no limit!??!
ho scritto String a = "e tantissimi caratteri..."
ecco quello che mi dice....
String too long![]()
String#length() è un intero ---> al massimo 2147483647 caratteri (un carattere 16 bit). La dimensione di una stringa è, di fatto, illimitata; sempre che tu abbia abbastanza memoria...
mmm allora perchè quell'errore?Originariamente inviato da mcolombara
String#length() è un intero ---> al massimo 2147483647 caratteri (un carattere 16 bit). La dimensione di una stringa è, di fatto, illimitata; sempre che tu abbia abbastanza memoria...
Non ho fato stringa.length()
ma ho solo assegnato ad una stringa un testo enorme...
String stringa = "sdgfsdg asdgsdagasd"
Molto molto più lunga...![]()
(per un test) non sono pazzo!![]()
ho indicato String#length solo per evidenziare che il numero massimo di caratteri è indicato da un intero. Essendo indicato da un intero ha come valore massimo 2147483647; una stringa, quindi, potrebbe contenere, memoria permettendo, 2147483647 caratteri.
E' anche vero che l'errore che indichi non riguarda un errore di memoria; sembrerebbe un errore dovuto a networking o a utilizzo di database. In che situazione ti viene segnalato l'errore (per curiosità)?
Ho scritto come ho dettoOriginariamente inviato da mcolombara
ho indicato String#length solo per evidenziare che il numero massimo di caratteri è indicato da un intero. Essendo indicato da un intero ha come valore massimo 2147483647; una stringa, quindi, potrebbe contenere, memoria permettendo, 2147483647 caratteri.
E' anche vero che l'errore che indichi non riguarda un errore di memoria; sembrerebbe un errore dovuto a networking o a utilizzo di database. In che situazione ti viene segnalato l'errore (per curiosità)?
String a = "sdgsdgsda gsdag sdag asdg asd gasdg sadg sdaasd gasdg asdg asdg dg s"
Con molto Più testo, tutto qui...
IL programma non fa nulla ho solo "dichiarato" quella variabile![]()
Ho constatato che il compilatore 1.5 della sun fa un controllo già a compile time sulle stringhe inizializzate:
String s = "...";
accetta letterali stringhe lunghe fino a 65534 caratteri; uno di più e segnala l'erore di constant string too long.
ovviamente utilizzando un leterale s di 65534 a runtime non da problemi se si allunga la stringa:
String s = "...";
s = s + s;
è eseguito senza problemi perchè di memoria ce n'è.
Sun Certified Java Programmer
EUCIP Core Level Certified
European Certification of Informatics Professionals