字符串長(zhǎng)度怎么自己數(shù) Java中String類(lèi)型有沒(méi)有長(zhǎng)度的限制?
Java中String類(lèi)型有沒(méi)有長(zhǎng)度的限制?嚴(yán)格來(lái)說(shuō),字符串確實(shí)有長(zhǎng)度限制。1. 在字符串中使用char[]數(shù)組來(lái)存儲(chǔ)字符串的內(nèi)容。數(shù)組的下標(biāo)是integer(也可以參考字符串構(gòu)造方法string(c
Java中String類(lèi)型有沒(méi)有長(zhǎng)度的限制?
嚴(yán)格來(lái)說(shuō),字符串確實(shí)有長(zhǎng)度限制。
1. 在字符串中使用char[]數(shù)組來(lái)存儲(chǔ)字符串的內(nèi)容。數(shù)組的下標(biāo)是integer(也可以參考字符串構(gòu)造方法string(char value[]int offset,int count),可以知道字符數(shù)用integer表示,integer的范圍(Java指定32位)是2G,即Java數(shù)組的最大長(zhǎng)度是2G,即,字符串不能超過(guò)2G個(gè)字符。
2. Java數(shù)組的大小還有其他限制嗎?實(shí)際上,數(shù)組的大小不能超過(guò)Java堆的大小,Java堆的最大大小可以由startup參數(shù)指定。如果Java堆足夠大,那么可以連續(xù)增加數(shù)組的最大長(zhǎng)度。
3. 因此,理論上,一個(gè)字符串不能超過(guò)2G個(gè)字符,而且有可能少于2G個(gè)字符。
Java中string的用法?
String a=“ABC”
此時(shí),已為String類(lèi)型的變量分配內(nèi)存地址[即堆],然后重新分配相同的變量。引用類(lèi)型變量的內(nèi)存地址指向相同的內(nèi)存地址,因此重新分配時(shí),內(nèi)存中的值會(huì)發(fā)生變化。例如:string a=“BCD”此時(shí),內(nèi)存中的值已變?yōu)锽CD