# java.lang.String maximale Anzahl der Zeichen



## Reignman (8. Okt 2004)

hallo !

wieviele zeichen kann String maximal beinhalten? kann leider nirgends die theoretische obergrenze in der spezifikation finden. nur das die methode length() einen int zurückliefert, also sollten nicht mehr als 2.147.483.647 drin sein ...

mfg,
r.
 ???:L


----------



## thE_29 (8. Okt 2004)

aha, wusste net das int soviel speichern kann!

dachte int = -32768 - +32767 oder von 0 - 65535

oder hat int in java mehr speicher als in C?


----------



## bygones (8. Okt 2004)

thE_29 hat gesagt.:
			
		

> dachte int = -32768 - +32767 oder von 0 - 65535


ein int hat in java 4 byte... nun rechnets aus....  :bae:


----------



## Beni (8. Okt 2004)

In Java hat int 32 Bits. Der geht von ungefähr -2^31 bis 2^31


----------



## thE_29 (8. Okt 2004)

aha, na dann nehm ich ja immer für die katz long 

dachte int hat hier auch nur 2 bytes!

gut zu wissen 

wieder was gelernt  :meld:


----------



## meez (8. Okt 2004)

Reignman hat gesagt.:
			
		

> hallo !
> 
> wieviele zeichen kann String maximal beinhalten? kann leider nirgends die theoretische obergrenze in der spezifikation finden. nur das die methode length() einen int zurückliefert, also sollten nicht mehr als 2.147.483.647 drin sein ...



Was ist die maximale Länge eines Arrays? Wenn du das rausfindest, hast du die Lösung....
Aber die Diskussion ist eigentlich müssig, da:
2 ^ 31 * 16 bit / 8 = 2^32 bit =  4 * 10^9 bit = maximales verwaltbares Ram einer 32 bit Machine / VM


----------



## thE_29 (8. Okt 2004)

> 2 ^ 31 * 16 bit / 8 = 2^32 bit = 4 * 10^9 bit


:bahnhof:
HÄ?????

2 ^31 * 16 bit, danach versteh i nix mehr 

8 = 2 ?!?


----------



## meez (8. Okt 2004)

Also....
Angenommen, die max. Länge eines Arrays ist 2^31 (int)...
Dann ist die maximale Länge eines Strings 2^31 * 16bit (1 Unicode char) ... durch 8 sind 2 ^ 32 byte, also 4 GB Memory... :meld: 

Oben hatte es noch Fehler...Das muss natürlich byte heissen...


----------

