|
java中String的长度
使用 Integer.MAX_VALUE Integer.MAX_VALUE = 2147483647 : String 和 StringBuffer
获得长度的方法: public int length()Returns the length of this string. The length is equal to the number of 16-bit Unicode characters in the string. 获得 String 和 StringBuffer 的长度的方法都是 int length()
int 是一个 32 位变量类型,取正数部分来算的话,他们最长可以有 2^31-1 = 2147483647 个 16-bit Unicode character
34359738352 / 8 = 4294967294 (Byte) 4294967294 / 1024 = 4194303.998046875 (KB) 4194303.998046875 / 1024 = 4095.9999980926513671875 (MB) 4095.9999980926513671875 / 1024 = 3.99999999813735485076904296875 (GB) 有近 4G 的容量。
附: 在编写时,如果使用Sting str = "aaaa";的形式定义一个字符串,那么双引号里面的ASCII 字符最多只能有 65534 个。 为什么呢?因为在class文件的规范中, CONSTANT_Utf8_info 表中使用一个16 位的无符号整数来记录字
也正是变体UTF-8 的原因,如果字符串中含有中文等非ASCII 字符,那么双引号中字符的数量会更少(一个中文字符占用 三个字节)。如果超出这个数量,在编译的时候编译器会报错。
|
java中String对象的长度
最新推荐文章于 2025-08-06 08:36:33 发布
本文深入探讨了 Java 中 String 类型的最大存储容量,包括如何通过 Integer.MAX_VALUE 计算最大长度,并分析了不同字符类型的影响。此外,文章还提到了在编译时对字符串长度的限制。

3059

被折叠的 条评论
为什么被折叠?



