我必须初始化一个大的常量数据结构,但是我收到编译器错误消息:
The code of constructor MS_XXX(String) is exceeding the 65535 bytes limit
这就是代码的样子:
public class MD_XXX {
public List<String> allElements;
public MD_XXX(String language) {
this.allElements = new ArrayList<String>();
if (...) {
/* 0 */ allElements.add("some text0");
/* 1 */ allElements.add("some text1");
/* 2 */ allElements.add("some text2");
.. many more lines here
BUT
我还有更多的数据结构要初始化,将其放入数据库是一件非常麻烦的事情 - 再次,这是保密信息。
解决此问题的最佳方法是什么? 我是否真的必须将其分解为几个类文件或从数据库中读取它? 我真的试图避免使用DB方式,因为这些数据应该对应用程序是安全的。
非常感谢
答案 0 :(得分:0)
我真的必须将其分解为几个类文件
将它分成几个方法可能就足够了。添加一些从超长构造函数调用的私有方法,并在那里移动部分代码。每种方法的长度可以是65535字节。