一尘不染

Java中字符串的最大长度-调用length()方法

java

在Java中,String参考length()方法调用,对象可能具有的最大大小是多少?

我知道length()返回a的大小Stringchar []


阅读 1104

收藏
2020-03-05

共1个答案

一尘不染

考虑到String该类的length方法返回an int,则该方法将返回的最大长度为Integer.MAX_VALUE,即2^31 - 1(或大约20亿)。

在数组的长度和索引方面(例如char[],这可能是内部数据表示的实现方式String),Java SE 7版的《 Java语言规范》的第10章:数组表示以下内容:

数组中包含的变量没有名称。而是由使用非负整数索引值的数组访问表达式引用它们。这些变量称为数组的 组件。如果一个数组有n分量,那么我们说的n是数组的 长度。数组的组成部分使用从0到的整数索引n - 1(含)进行引用。

此外,int如第10.4节所述,索引必须按值进行:

数组必须按int值建立索引;

因此,似乎限制确实是2^31 - 1,因为这是非负值的int最大值。

但是,可能还会有其他限制,例如数组的最大可分配大小。

2020-03-05