string的长度java
㈠ java中string多少个字节
从String的源代码我们可以得知类String中是使用域 count 来
记录对象字符的数量,而count 的类型为 int,因此,我们可以推测最长的长度
为 2^32,也就是4G。如果是ASCII 码的话最多只能有 65534 字节,utf8编码的话最多是65536 个字节。
㈡ JAVA里String数组在内存分配中分配的空间每个占几个字节
java中一个int占4个字节,由于java是unicode编码,一个char可以占两个字节,可以存储一个汉字。一个String,要看有几个字母或者几个汉字,一个英文字母就是一个字节,一个汉字就是两个字节,以此类推计算。
㈢ Java中String类型有没有长度的限制
严格来说,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个字符都有可能。
㈣ string字符串长度限制
Java中的String有没有长度限制?
这个问题要分两个阶段看,分别是编译期和运行期。(ujiuye)不同的时期限制不一样:
1、编译期
String s = "";中,最多可以有65534个字符。如果超过这个个数。就会在编译期报错。
2、运行期
String长度的限制是编译期的限制,也就是使用String s= "";这种字面值方式定义的时候才会有的限制。那么。String在运行期有没有限制呢,答案是有的,就是我们前文提到的那个Integer.MAX_VALUE ,这个值约等于4G,在运行期,如果String的长度超过这个范围,就可能会抛出异常。(在jdk 1.9之前)String长度的限制是编译期的限制,也就是使用String s= "";这种字面值方式定义的时候才会有的限制。
字符串不能超过2G个字符
㈤ Java中String接受的最大字符串的长度是多少
数组最大的长度为Integer.MAX_VALUE
㈥ Java中String接受的最大字符串的长度是多少
数组最大的长度为Integer.MAX_VALUE
1.不过,我们在编写源代码的时候,如果使用
Sting
str
=
"aaaa";的形式定义一个字符串,那么双引号里面的ASCII字符最多只能有
65534
个。
2.因为在class文件的规范中,
CONSTANT_Utf8_info表中使用一个16位的无符号整数来记录字符串的长度的,最多能表示
65536个字节,而java
class
文件是使用一种变体UTF-8格式来存放字符的,null值使用两个字节来表示,因此只剩下
65536-
2
=
65534个字节。
3.也正是变体UTF-8的原因,如果字符串中含有中文等非ASCII字符,那么双引号中字符的数量会更少(一个中文字符占用三个字节)。如果超出这个数量,在编译的时候编译器会报错。