嚴格來說,String確實有長度限制。
1、String內部使用一個char[]陣列來存放字串的內容,陣列下標是整型(也可以參考String的構造方法String(char value[], int offset, int count) ,可以知道字元數量是用整型表示),整型(Java規定32位)表示範圍是2G,也就是說,Java陣列最大的長度是2G,即字串不能超過2G個字元。
2、Java的陣列大小還有沒有別的限制?事實上陣列大小不能超過Java堆的大小,而Java堆的最大尺寸可以透過啟動引數指定,如果Java堆開得足夠大,陣列的最大長度是可以不斷增大的。
3、所以,理論上,字串不能超過2G個字元,少於2G個字元都有可能。
string str = "aaaaaaaaa"
int length = str.length;
length就是str的長度
嚴格來說,String確實有長度限制。
1、String內部使用一個char[]陣列來存放字串的內容,陣列下標是整型(也可以參考String的構造方法String(char value[], int offset, int count) ,可以知道字元數量是用整型表示),整型(Java規定32位)表示範圍是2G,也就是說,Java陣列最大的長度是2G,即字串不能超過2G個字元。
2、Java的陣列大小還有沒有別的限制?事實上陣列大小不能超過Java堆的大小,而Java堆的最大尺寸可以透過啟動引數指定,如果Java堆開得足夠大,陣列的最大長度是可以不斷增大的。
3、所以,理論上,字串不能超過2G個字元,少於2G個字元都有可能。