2012-08-25 4 views
11

Mögliche Duplizieren:
String's Maximum length in Java - calling length() methodGibt es eine Grenze für die String-Größe in einem Java-Programm?

Ich habe eine Zeichenfolge definiert als

String xx

Gibt es eine Grenze für die Anzahl der Zeichen, die ich vergeben kann?

2) Ich gebe die Benutzereingabe dieser Zeichenfolge xx. 70% der Zeiten geben Leute nur ein Wort. manchmal geben sie einen großen Satz, wollen wissen, ob das ok ist? oder gibt es bessere Java-Praktiken?

+1

@anio Ha, schlag mich! – MadProgrammer

+1

Hast du das schon kurz vor dem Posten gegoogelt? Der zweite Treffer für 'java string length limit' war das oben aufgeführte Duplikat. –

+0

Wenn du fragen musst, machst du schon das Falsche. Strings sollten nicht als Container behandelt werden. – EJP

Antwort

35

Eine häufige Frage, nach der Sie gesucht haben könnten, aber ich werde sie trotzdem noch einmal beantworten.

Gibt es ein Limit für die Anzahl der Zeichen, die ich zuweisen kann?

Seine Integer.MAX_VALUE oder 2^31-1 oder etwa 2 Milliarden. Sie haben wahrscheinlich mehr Speicherprobleme, bevor Sie diese Größe erreichen. z.B. Sie benötigen 4 GB für die Zeichenfolge und 4 GB für die Erstellung.

Ich bin die Benutzereingabe dieser Zeichenfolge xx zuweisen. 70% der Menschen geben nur ein Wort. manchmal geben sie einen großen Satz, wollen wissen, ob das ok ist?

Ich vermute, dass alle Arbeiten von J K Rowling in eine Saite passen würde.

oder gibt es bessere Java-Praktiken?

Ich schlage vor, Sie halten die Dinge so einfach wie möglich. Die Zuweisung einer String-Referenz ist so einfach wie sie ist.

+0

Denken Sie daran, dass, wenn die Größe des Heapspeichers, dividiert durch die Größe von 'char' (was 2 ist) kleiner ist als' Integer.MAX_VALUE', dies die obere Grenze ist. – Eric

+0

@Eric Also "viel mehr als ein Satz" .. ;-) –

+0

@Eric True, wie ich erwähnt habe, benötigen Sie 4 Bytes für jedes Zeichen, das Sie in den Strings wollen. (2 Bytes für den String und 2 Bytes für den Aufbau) –

Verwandte Themen