我正在制作一个Minecraft mod而且我不知道哪一个更值得推荐。
Block[] blocks = new Block[] {BlueBlock, MeatBlock, ....};
for (Block bls : blocks)
GameRegistry.registerBlock(bls, bls.getUnlocalizedName().substring(5));
或
GameRegistry.registerBlock(BlueBlock, "BlueBlock");
GameRegistry.registerBlock(MeatBlock, "MeatBlock");
GameRegistry.registerBlock(..., "...");
答案 0 :(得分:2)
后者效率更高。第一个创建数组,然后遍历数组并在其中注册内容,而第二个只是注册所有内容,尽管性能几乎不可察觉,因为这发生在Forge加载的PRE_INITIALIZATION
阶段。
答案 1 :(得分:1)
第二个将减少计算,第一个更自动化,这对于懒惰更好。 在记忆方面,它不应该变化很大,只有块会存储一些数据,之后应该被销毁,(垃圾收集器,如果是这样)。 无论如何,这是一个非常小的差异。但如果处理成千上万的第二个会更快但写作很痛苦。