Java 什么是“;使用不可重入的迭代器方法:Array.iterator()”;错误消息是什么意思?
这是我在Java 什么是“;使用不可重入的迭代器方法:Array.iterator()”;错误消息是什么意思?,java,android,libgdx,reentrancy,arrayiterator,Java,Android,Libgdx,Reentrancy,Arrayiterator,这是我在libGDX中的第一个项目,我正在尝试循环com.badlogic.gdx.utils.Array: //properties ... private Array<Item> items; ... //constructor ... items = new Array<Item>(); ... //render method ... for (Item item : items) { item.update(deltaTime);
libGDX
中的第一个项目,我正在尝试循环com.badlogic.gdx.utils.Array
:
//properties
...
private Array<Item> items;
...
//constructor
...
items = new Array<Item>();
...
//render method
...
for (Item item : items) {
item.update(deltaTime);
}
...
//属性
...
私有数组项;
...
//建造师
...
items=新数组();
...
//渲染方法
...
用于(项目:项目){
项目.更新(deltaTime);
}
...
Android studio正在突出显示项目
,悬停显示消息:
使用不可重入的迭代器方法:Array.iterator()
LibGDX集合上的迭代器方法每次
方法被调用。对于嵌套或多线程迭代,创建一个新的
使用适当构造函数的迭代器
我不知道如何解决这个问题,或者这是否只是一个通知类型的错误,以及从长远来看是否会影响任何事情
你知道这是什么以及如何解决吗?就像上面说的:
请注意,每次调用此方法时都返回相同的迭代器实例
因此,如果您从两个不同的线程调用它,那么在一个线程中调用next将推进另一个线程中的迭代器
(或者,在同一个线程中调用它两次,在一个实例上调用next也会提升另一个实例。这与线程本身无关)
使用Array.ArrayIterator构造函数进行嵌套或多线程迭代
使用newarray.ArrayIterator(items)
而不仅仅是items