Java数据代码格式化

Java数据代码格式化,java,initialization,Java,Initialization,我正在编写一个android游戏,其中包含大量编译时已知的静态数据。如果我能用C语言开发,我将编写大量数据块,例如: bank_type bank[MAX_BANK] = { {"GoldmanSachs", 9, "Rips your face off", 14, 1, 38, 70, 55, 18, 5,-2,-2, 2....}, {"JPMorgan", 0, "Bunch of girls", 16, 2, 20, 34, 20, 36,-5, 3, 0, 1...

我正在编写一个android游戏,其中包含大量编译时已知的静态数据。如果我能用C语言开发,我将编写大量数据块,例如:

bank_type bank[MAX_BANK] = {
    {"GoldmanSachs", 9, "Rips your face off", 14, 1, 38, 70, 55, 18, 5,-2,-2, 2....},
    {"JPMorgan",   0, "Bunch of girls", 16, 2, 20, 34, 20, 36,-5, 3, 0, 1....},
    {"BankersTrust", 2, "Deutscher bought a lemon", 16, 2, 32, 48, 35, 30,-3,-3, 3,-1....},
    ...
但是由于我必须使用java(也就是cobol之上的一个级别),它不支持编译时数据初始化,所以我尝试以面向对象的方式进行初始化,并使用不同的类实例来存储我的每一条静态数据,但由于涉及的对象太多,这让我完全发疯。我疯狂地删除了我所有的代码,然后重新开始,把所有的东西都放到一个巨大的对象中。我想要的是把所有的数据块放在一起,这样我就可以很容易地查看和编辑它。我不想将数据放入数据库、xml文件或csv文件。因为我的编辑抱怨我的行太长了,有没有比写下面的更好的方法呢

switch (bank) {
    // in reality really really long lines spread over multiple init functions.
    case BANK1 : initData("GoldmanSachs", 9, "Rips your face off", 14, 1, 38, 70); break;
    case BANK2 : initData("JPMorgan",   0, "Bunch of girls", 16, 2, 20, 34, 20, ); break; 

银行类型是a类吗?您可以这样做:

BankType bank[] = new BankType[] {
    new BankType("GoldmanSachs", /* further args for constructor */), 
    new BankType("JPMorgan", /* further args for constructor */ ),
    // and so on
}

将其存储在某个json/yaml文件中,然后在运行时对其进行解析。即使您不想。更改IDE允许的最大行长度,使其停止抱怨?这不应该是编译错误,所以您可以忽略它…@DanAndrews我看到的
publicstaticvoidmain()
方法有几百行:PPP@moonwave99我不羡慕你。人类确实使编码变得有趣。那么模拟对象呢?参见维基百科:这似乎太明显了——我想知道为什么OP一开始就不这么做——我一开始试过了。但我低估了这个问题,这不仅仅是一个层面。设想一个银行级,然后是部门级,然后是团队级,然后是个人级,每个级别都有大约50条信息。所有这些数据都是静态的吗?尽管如此,您仍然可以将部门的创建嵌套到BankType构造函数中,等等,例如,
new BankType(“…”,new Department(…),…)
,但我同意上面的评论,在这种情况下,您最好将数据放入文本文件中,并在程序启动时对其进行解析。尽管如此,您仍然可以利用面向对象编程的优势,因为您可以将数据解析为银行、部门等对象的数据结构,而不是拥有庞大的多维数组。