Java 的队列迭代器
Queue Iterator with Java
我正在尝试使用队列来存储一定数量的数据,并且我希望能够遍历它。我创建了一个特定类型的新队列,但迭代器出现问题。每当我调用 iterator.next() 时,我都会遇到类型不匹配的情况。 "Can't convert from void to motionEvent"。 motionEvent 是我存储的类型。任何帮助将非常感激。这是代码片段。
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 Class:
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;
}
}
通常情况下,不同类型的项目不能直接分配给另一个。也无法分配voids,尝试寻找迭代的方法。此外,您的 motionEvent 是其自身的类型,因此必须间接添加它并抛出一个集合或转换。
您不应转换为原始类型:
Iterator<MotionEvent> it = queue.iterator();
我正在尝试使用队列来存储一定数量的数据,并且我希望能够遍历它。我创建了一个特定类型的新队列,但迭代器出现问题。每当我调用 iterator.next() 时,我都会遇到类型不匹配的情况。 "Can't convert from void to motionEvent"。 motionEvent 是我存储的类型。任何帮助将非常感激。这是代码片段。
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 Class:
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;
}
}
通常情况下,不同类型的项目不能直接分配给另一个。也无法分配voids,尝试寻找迭代的方法。此外,您的 motionEvent 是其自身的类型,因此必须间接添加它并抛出一个集合或转换。
您不应转换为原始类型:
Iterator<MotionEvent> it = queue.iterator();