我最近遇到Groovy的一个问题,我试图处理一个非常大的字符串(100k字符)。我收到一个错误,表示该字符串不能超过65,535个字符。我做了一些搜索,试图找到更多的信息并跑过这个链接,说明问题出在JVM上 - http://jira.codehaus.org/browse/GROOVY-2382。
我认为Java也在JVM上运行,而在Java中我有更大的字符串。只是想了解。任何人都可以为我阐明这一点。提前谢谢。
肖恩
答案 0 :(得分:4)
查看java.lang.String的源代码,其限制是Integer.MAX_VALUE的限制,这个数据非常大。
所以是的,有一个限制,但100K不在它附近。
Groovy bug引用字符串文字的限制,这与创建一个非常大的字符串不同。
答案 1 :(得分:4)
这是对字符串文字的限制,即源代码中的字符串。
从文件或其他一些InputStream中读取字符串不是问题。
您应该将巨大的String移动到单独的文本文件中。