我想用一个队列来存储一定数量的数据,我希望能够遍历它。我用特定的类型创建了一个新的队列,并且我在迭代器中遇到问题。每当我调用iterator.next()我有一个类型不匹配。 “无法从void转换为motionEvent”。 motionEvent是我正在存储的类型。任何帮助将非常感激。这是代码片段。与Java的队列迭代器
Queue<motionEvent> queue = new LinkedList<motionEvent>();
....
Iterator it = (Iterator) queue.iterator();
for(int i = 0; i < 5; i++)
{
motionEvent temp = it.next();
//THis is where I am having the problem with mismatch type
}
这里是motionEvent类别:
public class motionEvent
{
private long time;
private int positionX;
private int positionY;
public motionEvent()
{
time = 0;
positionX = 0;
positionY = 0;
}
public motionEvent(long time_in, int positionX_in, int positionY_in)
{
time = time_in;
positionX = positionX_in;
positionY = positionY_in;
}
public long getTime()
{
return time;
}
public int[] getPosition()
{
int[] temp = new int[]{positionX, positionY};
return temp;
}
}
为什么你投'queue.iterator()'(返回迭代器我猜的)到'Iterator'?这会导致it.next()不是'motionEvent'类型(但我不确定它为什么返回'Void'而不是Object)。 –
eckes
你是在说运行时还是编译时问题?如果它是运行时问题,则需要显示如何实例化和添加元素。 – eckes
这是一个编译问题。 – Cirrith