Sting str = "aaaa" 的形式定义一个字符串最大长度只能有 65534 个。

简介: String对象最多能容纳字符 最长的长度为 2^32,也就是4G。不过,我们在编写源代码的时候,如果使用 Sting str = "aaaa";的形式定义一个字符串,那么双引号里面的ASCII字符最多只能有 65534 个。
  • String对象最多能容纳字符 最长的长度为 2^32,也就是4G。
  • 不过,我们在编写源代码的时候,如果使用 Sting str = "aaaa";的形式定义一个字符串,那么双引号里面的ASCII字符最多只能有 65534 个。

为什么呢?因为在class文件的规范中, CONSTANT_Utf8_info表中使用一个16位的无符号整数来记录字符串的长度的,最多能表示 65536个字节,而java class 文件是使用一种变体UTF-8格式来存放字符的,null值使用两个字节来表示,因此只剩下 :

65536 - 2 = 65534 

个字节。

  • 跟 class文件的规范有关
相关文章
|
22天前
|
存储 测试技术
luatos 字符串与数组转换,解析hex数组
luatos 字符串与数组转换,解析hex数组
21 1
|
4月前
从接口获取获取到数组arr=[‘1‘,‘a‘,‘2‘,‘b‘,‘3‘,‘c‘]转换成{number:‘123’,char:‘abc’}
从接口获取获取到数组arr=[‘1‘,‘a‘,‘2‘,‘b‘,‘3‘,‘c‘]转换成{number:‘123’,char:‘abc’}
|
7月前
|
存储 算法 C语言
【C++】对于string的补充(成员函数c_str()、大小写转换、字符串和实数之间的相互转换)
【C++】对于string的补充(成员函数c_str()、大小写转换、字符串和实数之间的相互转换)
36 0
|
9月前
|
C#
C#中Int32.TryParse()将字符串转化为整数
C#中Int32.TryParse()将字符串转化为整数
46 0
将一个字符串的str的内容颠倒过来,并输出
将一个字符串的str的内容颠倒过来,并输出
lodash检查字符串string是否以给定的字符串结尾
lodash检查字符串string是否以给定的字符串结尾
146 0
字符串String截取字符char
字符串String截取字符char
105 0
字符串String截取字符char
NSString字符串相加连接的三种方法、判断是否包含字符串的方法
NSString字符串相加连接的三种方法、判断是否包含字符串的方法
513 0

热门文章

最新文章