java Java中String接受的最大字符串的长度是多少?
浏览量:2502
时间:2021-03-21 17:05:26
作者:admin
Java中String接受的最大字符串的长度是多少?
阵列的最大长度为Integer.MAX然而,当我们编写源代码时,如果我们以sting STR=“AAAA”的形式定义一个字符串,那么双引号中的ASCII字符的最大数目是65534。2因为在类文件规范中,info表中的constantUtf8u16位无符号整数用于记录字符串的长度,最多可以表示65536字节。Java类文件使用一种变体UTF-8格式来存储字符,空值由两个字节表示,因此只剩下65536-2=65534字节。三。这也是变种UTF-8的原因。如果字符串包含非ASCII字符(如中文),则双引号中的字符数将减少(一个汉字占用三个字节)。如果超过此数字,编译器将在编译期间报告错误。
Java中String类型有没有长度的限制?
严格来说,字符串确实有长度限制。
1. 在字符串中使用char[]数组来存储字符串的内容。数组的下标是integer(也可以参考字符串构造方法string(char value[]int offset,int count),可以知道字符数用integer表示,integer的范围(Java指定32位)是2G,即Java数组的最大长度是2G,即,字符串不能超过2G个字符。
2. Java数组的大小还有其他限制吗?实际上,数组的大小不能超过Java堆的大小,Java堆的最大大小可以由startup参数指定。如果Java堆足够大,那么可以连续增加数组的最大长度。
3. 因此,理论上,一个字符串不能超过2G个字符,而且有可能少于2G个字符。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。