我有一大堆字符串,我想找到每个字符串的长度并添加它们并显示字符串的总长度。
要计算长度,我使用方法string.length()
,但我注意到length()的数据类型是int,int的最大大小是2,147,483,647。但是我的字符串对象的字符数大于2,147,483,647。有什么建议如何在超出int limit时得到长度?
答案 0 :(得分:5)
但是我的字符串对象的字符数大于2,147,483,647
我对此表示怀疑:String使用char[]
来存储字符,而数组不能容纳超过Integer.MAX_VALUE
个元素。另请参阅this post。
如果您只需要添加多个字符串的长度,则可以使用长变量。
答案 1 :(得分:2)
你不能有比这更长的字符串。
Integer.MAX_VALUE
是索引用于存储字符串对象的内部字符数组的上限,因此没有办法让字符串长于此值。
答案 2 :(得分:1)
在java中,没有字符串对象可以具有大于 Integer.MAX_VALUE
的长度,因此string.length将适合您,但是如果您希望字符串集的总长度大于 Integer.MAX_VALUE
,则可以使用长type变量,用于存储整个字符串集的长度值