这个问题是编译过程中的错误,在Java中运行时没有这样的限制。
当我们在Java编译器中输入变量值超过64 kb时,Java编译器将不允许编译通行证,并且您将获得一个恒定字符串的时间太长“编译器错误”。
在本文中,我们将解释此问题的原因以及如何解决此问题。
首先,让我们在本地计算机中重复此问题,然后在下面的代码中插入一个长字符串。
上面输入的字符串超过100,000个字符。由于我们用于测试,因此您可以在代码中输入任何长字符。
有时,您的IDE可能不会引起此错误,但是我们测试的IEDA没有问题。可以完全提示此错误。
当然,您可以使用Maven进行编译。相同的代码。如果使用Maven来编译提示如下:
使用UTF-8编码时,类文件的字符限制为2^16个字节。
因为这个问题是编译过程中的错误,而不是操作过程中的问题。
解决此问题的方法非常简单。如果您需要处理长字符串,我们可以使用FileInputStream方法来处理它。
只需将字符串放在文件中即可。
然后让您的程序从文件中读取数据。
如以下代码所示:
当然,您还可以在属性文件中定义值。在这种情况下,您可以通过阅读属性文件方法来获取此值。
此方法与上述方法的本质相同,该方法被文件替换。
然后尝试重新计算上述代码,并且该字符串的错误太长。
当然,您还可以使用字符串缝合来拼接要处理的字符串。
但是,不建议使用此方法进行处理。
在本文中,我们解释了常数字符串的编译误差过长并提供了解决方案。简而言之,使用文件替换。
相关测试源代码,请访问:
https://src.ossez.com/cwiki-s-docs/java-tutorials/branch/main/core-java--core-core-core-java-src/ test/ossez/stringtoolt /stringtoolon/stringtoolontoolontest.java
您还可以在代码之后进行更新。
https://www.ossez.com/t/java- donging-long/14048