【发布时间】:2014-04-17 16:50:01
【问题描述】:
为了获得更好的性能,我正在微调代码,查看 DDMS 跟踪器。一方面是Array.get(x),比Array.items[x]贵
我们可以直接访问items证明数组类型是Object,或者,我们在构造函数中指定数组类型,像这样:
Array<MyClass> foo = new Array<MyClass>(MyClass.class)
这很好用,但是,如何在 for 循环中指定最后一个 MyClass.class?我现在有这个:
for (Array<MyClass> listOfObjects : allObjects) {
for (int i=0; i<listOfObjects.size; i++) {
MyClass myObj = listOfObjects.get(i);
//MyClass myObj = listOfObjects.items[i];
注释行工作正常,但为了摆脱开销,我想提供上面提到的“(MyClass.class)”。在那个 for 循环构造函数中我可以在哪里执行此操作?
非常感谢 J
【问题讨论】:
-
这很奇怪。在您增强的 for 循环中, foo 已经是当前项目。在您的 sn-p 中,您尝试使用不存在的变量
i访问它。 -
哦,我错误地复制了我的代码。更新中..
-
要按照您设置的方式使用高级 for 循环,Array
应该是 Array > -
对您当前的问题没有帮助,但请确保您使用
listOfObjects.size() -
size()不存在,因为这是一个 Libgdx Array 对象:com.badlogic.gdx.utils.Array;
标签: java android class for-loop libgdx