java字符型 Java中String类型有没有长度的限制?
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个字符。
对string常量的字符串长度有没有限制?
字符串以字符数组的形式存储。如果数组的长度为int类型,则字符串的最大允许长度为Integer.MAX价值观。因此,Java中字符串存储的最大长度约为16位。但是,这仅适用于字符串变量。如果是用代码编写的字符串文字,如“ABC”和“1a2b”,则允许的最大长度取决于该字符串在常量池中的存储大小,即该字符串在类格式文件Utf8中的存储格式。理论上,字符串文字的最大长度为2^16-1=65535。然而,实际测试表明,允许的最大长度仅为65534,如果长度超过则为编译错误。
李老师mongoDB中,字符类型的字段,有大小长度限制吗?
数字类型字段的长度固定为22。
数据类型字段的长度固定为7。
默认情况下,索引按升序排列。如果索引按降序排列,则索引的长度为字段定义长度*1.51。
MySQL对索引长度有复杂的限制。每个版本和存储引擎都是不同的。下面是mysql5.1.58的测试结果:
InnoDB的最大总长度是3072字节,单字符字段是767字节。如果字段长度大于767,将自动截取前767个字符。
MyISAM的最大总长度为1000字节,单个字符字段为1000字节。
内存的最大总长度为3072字节,单个字符字段为3072字节。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。