我想用一個隊列來存儲一定數量的數據,我希望能夠遍歷它。我用特定的類型創建了一個新的隊列,並且我在迭代器中遇到問題。每當我調用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