java字符串寫(xiě)入數(shù)組 Java中String接受的最大字符串的長(zhǎng)度是多少?
Java中String接受的最大字符串的長(zhǎng)度是多少?數(shù)組最大的長(zhǎng)度為Integer.MAX_VALUE1.不過(guò),我們?cè)诰帉?xiě)源代碼的時(shí)候,如果使用 Sting str = "aaaa"的形式定義一個(gè)字符
Java中String接受的最大字符串的長(zhǎng)度是多少?
數(shù)組最大的長(zhǎng)度為Integer.MAX_VALUE1.不過(guò),我們?cè)诰帉?xiě)源代碼的時(shí)候,如果使用 Sting str = "aaaa"的形式定義一個(gè)字符串,那么雙引號(hào)里面的ASCII字符最多只能有 65534 個(gè)。2.因?yàn)樵赾lass文件的規(guī)范中, CONSTANT_Utf8_info表中使用一個(gè)16位的無(wú)符號(hào)整數(shù)來(lái)記錄字符串的長(zhǎng)度的,最多能表示 65536個(gè)字節(jié),而java class 文件是使用一種變體UTF-8格式來(lái)存放字符的,null值使用兩個(gè)字節(jié)來(lái)表示,因此只剩下 65536- 2 = 65534個(gè)字節(jié)。3.也正是變體UTF-8的原因,如果字符串中含有中文等非ASCII字符,那么雙引號(hào)中字符的數(shù)量會(huì)更少(一個(gè)中文字符占用三個(gè)字節(jié))。如果超出這個(gè)數(shù)量,在編譯的時(shí)候編譯器會(huì)報(bào)錯(cuò)。
java怎么獲取字符串的長(zhǎng)度?
第一步、我們首先需要知道在java中獲取數(shù)組長(zhǎng)度用數(shù)組的length屬性,獲取字符串長(zhǎng)度用字符串類(lèi)的length()方法,如下圖所示:
第二步、下面我們來(lái)看一下具體代碼,通過(guò)“String s="abcdefgkhj" int a=s.length()System.out.println("s字符串的長(zhǎng)度:" a)”代碼,獲取字符串s的長(zhǎng)度,如下圖所示:
第三步、運(yùn)行程序,可以看到字符串s的長(zhǎng)度為10,如下圖所示:
第四步、輸入“int data[]={12,23,34,45,16,78}int c=data.lengthSystem.out.println(“data數(shù)組的長(zhǎng)度:" c)”代碼,獲取data數(shù)組的長(zhǎng)度,如下圖所示:
第五步、運(yùn)行程序,可以看到data數(shù)組的長(zhǎng)度為6,如下圖所示:
String的最大允許長(zhǎng)度是多少?
String內(nèi)部使用一個(gè)char[]數(shù)組來(lái)存放字符串的內(nèi)容,數(shù)組下標(biāo)是整型(也可以參考String的構(gòu)造方法String(char value[], int offset, int count) ,可以知道字符數(shù)量是用整型表示),整型(Java規(guī)定32位)表示范圍是2G,也就是說(shuō),Java數(shù)組最大的長(zhǎng)度是2G,即字符串不能超過(guò)2G個(gè)字符。