Java中String类型有没有长度的限制?
答案:2 悬赏:30 手机版
解决时间 2021-11-14 21:16
- 提问者网友:雾里闻花香
- 2021-11-14 02:55
精选
最佳答案
- 五星知识达人网友:罪歌
- 2019-09-17 10:01
严格来说,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个字符都有可能。
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个字符都有可能。
全部回答
- 1楼网友:逃夭
- 2020-06-17 03:01
严格来说,string确实有长度限制。
string内部使用一个char[]数组来存放字符串的内容,数组下标是整型(也可以参考string的构造方法string(char value[], int offset, int count) ,可以知道字符数量是用整型表示),整型(java规定32位)表示范围是2g,也就是说,java数组最大的长度是2g,即字符串不能超过2g个字符。
java的数组大小还有没有别的限制?事实上数组大小不能超过java堆的大小,而java堆的最大尺寸可以通过启动参数指定,如果java堆开得足够大,数组的最大长度是可以不断增大的。
所以,理论上,字符串不能超过2g个字符,少于2g个字符都有可能。
但编码时有需要注意的地方,采用明文的方式,如果超过65534个字节,可能报编译错误,可参考下列网站(有一处错误,整型考虑到符号位,最大只到2g)。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯