Java和JVM混淆(如果Java可以处理大字符串为什么不能groovy?)

时间:2009-08-10 12:20:05

标签: java groovy

我最近遇到Groovy的一个问题,我试图处理一个非常大的字符串(100k字符)。我收到一个错误,表示该字符串不能超过65,535个字符。我做了一些搜索,试图找到更多的信息并跑过这个链接,说明问题出在JVM上 - http://jira.codehaus.org/browse/GROOVY-2382

我认为Java也在JVM上运行,而在Java中我有更大的字符串。只是想了解。任何人都可以为我阐明这一点。提前谢谢。

肖恩

2 个答案:

答案 0 :(得分:4)

查看java.lang.String的源代码,其限制是Integer.MAX_VALUE的限制,这个数据非常大。

所以是的,有一个限制,但100K不在它附近。

Groovy bug引用字符串文字的限制,这与创建一个非常大的字符串不同。

答案 1 :(得分:4)

这是对字符串文字的限制,即源代码中的字符串。

从文件或其他一些InputStream中读取字符串不是问题。

您应该将巨大的String移动到单独的文本文件中。