1. String verwendet intern ein char[]-Array, um den Inhalt des Strings zu speichern. Der Array-Index ist eine Ganzzahl (Sie können sich auch auf die String-Konstruktionsmethode String(char value[], int offset, int count) beziehen die Anzahl der Zeichen) Es wird durch einen Ganzzahltyp dargestellt, und der Ganzzahltyp (Java gibt 32 Bit an) stellt einen Bereich von 2G dar. Das heißt, die maximale Länge eines Java-Arrays beträgt 2G, also die Zeichenfolge darf 2G Zeichen nicht überschreiten.
2. Gibt es weitere Einschränkungen hinsichtlich der Array-Größe von Java? Tatsächlich darf die Größe des Arrays die Größe des Java-Heaps nicht überschreiten, und die maximale Größe des Java-Heaps kann über Startparameter angegeben werden. Wenn der Java-Heap groß genug ist, kann die maximale Länge des Arrays weiter zunehmen .
Theoretisch darf die Anzahl der Zeichen in einer Zeichenfolge also 2G nicht überschreiten, es sind jedoch auch weniger als 2G Zeichen möglich.
Gibt es eine Begrenzung für die Stringlänge von Stringkonstanten
CONSTANT_Utf8_info {
u1-Tag;
u2 Länge;
u1 Bytes[Länge];
}
u2 ist eine vorzeichenlose 16-Bit-Ganzzahl, daher beträgt die theoretisch maximal zulässige Länge eines Zeichenfolgenliterals 2^16-1=65535. Nach tatsächlichen Tests wurde jedoch festgestellt, dass die maximal zulässige Länge nur 65534 beträgt und ein Überschreiten dieser Grenze zu Kompilierungsfehlern führt.
Das obige ist der detaillierte Inhalt vonGibt es eine Begrenzung der Länge des String-Typs in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!