我知道字符串享有一些特权,它在java中被定义为类。
作为对该Is there any limit for string size in a Java program?的引用,String的大小约为2 ^ 31-1。所以我的问题是,一个类如何具有有限的大小分配,因为据我所知,一个类可以分配所需数量的内存块
最佳答案
在内部,String
类包含一个字符数组(char[]
),它实际上是String
实例表示的内容。
Java以这种方式设计(and often criticized),以使其不支持大小超过Integer.MAX_VALUE
(恰好是231-1)的数组。
因此,总而言之,内部char[]
数组大小的限制实际上就是String
大小的限制。