Error: Code too Large in Generated Java File
Error: Code too Large in Generated Java File
我正在编写一个 Java 应用程序,它读取一个 .MID 文件并生成一个 .java(编译和执行时生成一个 .wav 文件),但是,生成的 .java 文件包含一个非常大的构造方法,因此生成的代码将无法编译。我知道每种方法的最大大小为 64kb,但有没有办法改变它?谢谢!
只需让您的应用将构造函数分解为多个方法 - 也就是说,构造函数调用多个小方法来完成其工作。这也使调试更容易,因为一次修复分散在方法中的错误更容易,而不是处理一个巨大的、损坏的方法。
下面是一个方法(不一定是构造函数,事实上你可以分解各种方法)分解成更小方法的例子:
public int doLotsOfStuff(String arg0, int arg1, boolean arg2, BiFunction<Boolean, String, Integer> arg3){
arg0 = reverse(arg0);
foo(arg1, arg2);
return bar(arg0, Integer.valueOf(arg1), arg2, arg3);
}
String reverse(String arg0){
StringBuilder foobar = new StringBuilder(arg0);
foobar.reverse();
return foobar.toString();
}
void foo(int arg0, boolean arg1){
System.out.println(arg1 ? ~arg0 : arg0);
}
<A, B> int bar(String arg0, A arg1, B arg2, BiFunction<B, String, A> arg3){
return String.valueOf(arg3.apply(arg2, arg1)).concat(arg0).hashCode();
}
我正在编写一个 Java 应用程序,它读取一个 .MID 文件并生成一个 .java(编译和执行时生成一个 .wav 文件),但是,生成的 .java 文件包含一个非常大的构造方法,因此生成的代码将无法编译。我知道每种方法的最大大小为 64kb,但有没有办法改变它?谢谢!
只需让您的应用将构造函数分解为多个方法 - 也就是说,构造函数调用多个小方法来完成其工作。这也使调试更容易,因为一次修复分散在方法中的错误更容易,而不是处理一个巨大的、损坏的方法。
下面是一个方法(不一定是构造函数,事实上你可以分解各种方法)分解成更小方法的例子:
public int doLotsOfStuff(String arg0, int arg1, boolean arg2, BiFunction<Boolean, String, Integer> arg3){
arg0 = reverse(arg0);
foo(arg1, arg2);
return bar(arg0, Integer.valueOf(arg1), arg2, arg3);
}
String reverse(String arg0){
StringBuilder foobar = new StringBuilder(arg0);
foobar.reverse();
return foobar.toString();
}
void foo(int arg0, boolean arg1){
System.out.println(arg1 ? ~arg0 : arg0);
}
<A, B> int bar(String arg0, A arg1, B arg2, BiFunction<B, String, A> arg3){
return String.valueOf(arg3.apply(arg2, arg1)).concat(arg0).hashCode();
}