1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 对string常量的字符串长度有没有限制 – java – 前端

对string常量的字符串长度有没有限制 – java – 前端

时间:2018-11-03 13:19:47

相关推荐

对string常量的字符串长度有没有限制 – java – 前端

String内部是以char数组的形式存储,数组的长度是int类型,那么String允许的最大长度就是Integer.MAX_VALUE了。又由于java中的字符是以16位存储的,因此大概需要4GB的内存才能存储最大长度的字符串。不过这仅仅是对字符串变量而言,如果是字符串字面量(string literals),如“abc”、”1a2b”之类写在代码中的字符串literals,那么允许的最大长度取决于字符串在常量池中的存储大小,也就是字符串在class格式文件中的存储格式: CONSTANT_Utf8_info { u1 tag; u2 length; u1 bytes[length]; } u2是无符号的16位整数,因此理论上允许的string literal的最大长度是2^16-1=65535。然而实际测试表明,允许的最大长度仅为65534,超过就编译错误了.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。