2012-08-25 7 views
11

Eventuali duplicati:
String's Maximum length in Java - calling length() methodEsiste un limite per la dimensione della stringa in un programma Java?

ho una stringa definita come

String xx

Esiste un limite per il numero di caratteri che posso assegnare?

2) Sto assegnando l'input dell'utente a questa stringa xx. 70% delle volte le persone danno una sola parola. alcune volte danno una grande frase, quindi voglio sapere è ok? o ci sono migliori pratiche java?

+1

@anio Ha, picchiami! – MadProgrammer

+1

Hai fatto una breve ricerca su Google prima di postare? Il secondo hit per 'limite lunghezza stringa java' era il duplicato sopra elencato. –

+0

Se devi chiedere, stai già facendo la cosa sbagliata. Le stringhe non devono essere trattate come contenitori. – EJP

risposta

35

Una domanda comune che avresti potuto cercare ma ho intenzione di risponderti comunque.

C'è un limite per il numero di caratteri che posso assegnare?

Integer.MAX_VALUE o 2^31-1 o circa 2 miliardi. È più probabile che tu abbia problemi di memoria prima di arrivare a queste dimensioni. per esempio. Sono necessari 4 GB per la stringa e 4 GB per crearla.

Sto assegnando l'input dell'utente a questa stringa xx. Il 70% delle volte le persone danno una sola parola. alcune volte danno una grande frase, quindi voglio sapere è ok?

Sospetto che tutte le opere di J K Rowling rientrino in un'unica stringa.

oppure esistono migliori pratiche Java?

Ti suggerisco di mantenere le cose il più semplici possibile. Assegnare un riferimento a una stringa è semplice come si ottiene.

+0

Ricorda che se la dimensione dell'heap, divisa per la dimensione di 'char' (che è 2), è minore di' Integer.MAX_VALUE', sarà invece il limite superiore. – Eric

+0

@Eric Quindi "molto più di una frase" .. ;-) –

+0

@Eric Vero, come ho detto hai bisogno di 4 byte per ogni carattere che vuoi nelle stringhe. (2 byte per la stringa e 2 byte per costruirlo) –

Problemi correlati