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