2009-08-10 4 views
0

J'ai récemment rencontré un problème avec Groovy où j'essayais de traiter une très grande chaîne (100k caractères). J'ai eu une erreur qui a dit que la chaîne ne pouvait pas être plus de 65 535 caractères. J'ai fait quelques recherches pour essayer de trouver plus d'informations et couru à travers ce lien qui a dit que le problème était avec la JVM - http://jira.codehaus.org/browse/GROOVY-2382. Je pensais que Java fonctionnait également sur la JVM et en Java j'ai eu des chaînes beaucoup plus grandes. J'essaie juste de comprendre. Quelqu'un peut-il faire la lumière sur ce pour moi. Merci d'avance.Java et JVM confusion (si Java peut gérer une grande chaîne pourquoi pas groovy?)

Sean

Répondre

4

Il s'agit d'une limitation sur les chaînes littérales, c'est-à-dire les chaînes dans le code source.

Ce n'est pas un problème pour les chaînes lues à partir d'un fichier ou d'un autre InputStream.

Vous devez déplacer votre énorme chaîne dans un fichier texte séparé.

4

regardant la source pour java.lang.String la limite est celle de Integer.MAX_VALUE qui est assez grand.

Alors oui, il y a une limite mais 100K n'est pas près d'ici. La limite que le bogue Groovy se réfère à celle d'un littéral de chaîne, ce n'est pas la même chose que de créer une très grande chaîne.

Questions connexes