如何修复“方法的代码..是否超过了 65535 字节限制“?

2022-09-01 09:41:59

我有以下代码:

public static void main(String[] args) {
    try {
        String[] studentnames = {
            /* this is an array of 9000 strings... */
        };
    }
}

尝试编译此文件时,我收到以下错误:

The code of method main(String[]) is exceeding the 65535 bytes limit

答案 1

在java中,方法不能超过65535字节。

因此,要解决此问题,请将方法分解为多个子方法。main(String[] args)


答案 2

错误代码似乎不言自明。

The code of method main(String[]) is exceeding the 65535 bytes limit 

这是因为 Java 中存在任意硬编码限制,即方法大小为 64Kb。(实际上,许多其他内容仅限于64K,例如方法名称,常量的数量等。有关更多详细信息请参阅 Java 8 规范或 Java 7 规范。

要解决此问题,您所要做的就是将方法分解为多个子方法。main(String[] args)


但是,为什么不直接从文件中加载名称呢?

按照您目前提议的方式进行操作的一些问题是:

  • 首先,您正在对细节进行硬编码,这几乎总是一件坏事(请参阅);

  • 其次,您收到该错误消息;和

  • 第三,你让你的代码很难阅读。

当然,还有更多,但这些是显而易见的。


推荐