我正在编写一个 Android 游戏,其中包含大量在编译时已知的静态数据。如果我可以用 C 语言开发,我会编写很多数据 block ,例如:
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上一级),我尝试以面向对象的方式进行操作,并使用不同的类实例来存储每一个静态数据,但是它所涉及的物体数量让我完全发疯了。我疯狂地删除了所有代码,然后重新开始,将所有内容放入一个巨大的对象中。我想要的是将所有数据 block 保存在一起,以便我可以轻松地查看和编辑它。我不想将数据放入数据库、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;
最佳答案
BankType 是一个类吗?你可以这样做:
BankType bank[] = new BankType[] {
new BankType("GoldmanSachs", /* further args for constructor */),
new BankType("JPMorgan", /* further args for constructor */ ),
// and so on
}
关于Java数据代码格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974705/