卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java Java中String接受的最大字符串的長(zhǎng)度是多少?

Java中String接受的最大字符串的長(zhǎng)度是多少?陣列的最大長(zhǎng)度為Integer.MAX然而,當(dāng)我們編寫源代碼時(shí),如果我們以sting STR=“AAAA”的形式定義一個(gè)字符串,那么雙引號(hào)中的ASC

Java中String接受的最大字符串的長(zhǎng)度是多少?

陣列的最大長(zhǎng)度為Integer.MAX然而,當(dāng)我們編寫源代碼時(shí),如果我們以sting STR=“AAAA”的形式定義一個(gè)字符串,那么雙引號(hào)中的ASCII字符的最大數(shù)目是65534。2因?yàn)樵陬愇募?guī)范中,info表中的constantUtf8u16位無(wú)符號(hào)整數(shù)用于記錄字符串的長(zhǎng)度,最多可以表示65536字節(jié)。Java類文件使用一種變體UTF-8格式來(lái)存儲(chǔ)字符,空值由兩個(gè)字節(jié)表示,因此只剩下65536-2=65534字節(jié)。三。這也是變種UTF-8的原因。如果字符串包含非ASCII字符(如中文),則雙引號(hào)中的字符數(shù)將減少(一個(gè)漢字占用三個(gè)字節(jié))。如果超過(guò)此數(shù)字,編譯器將在編譯期間報(bào)告錯(cuò)誤。

Java中String類型有沒有長(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è)字符。