我的doublyLinkedList getData方法遇到问题。 getData方法在我的Iterator中,但它的表现方式不存在。
if (USE_LINKED_LIST)
{
for (int i = 0; i < this.linked_list.size(); i++)
{
Movable current = this.linked_list.getData();
current.paint(graphics);
}
}
else
{
for (int i = 0; i < this.array.size(); i++)
{
Movable current = this.array.get(i);
current.paint(graphics);
}
}
正如您在此代码段中看到的那样,我试图调用this.linked_list.getData()但是它表现得像没有这样的方法。
public AnyType getData()
{
//Gets the data inside the currentNode
return currentNode.getData();
}
然而,这是我的Iterator中的getData方法。我在下一个代码段中遇到了相同的getData()问题
if (USE_LINKED_LIST)
{
for(int i =0; i < this.linked_list.size(); i++ )
{
Movable current = this.linked_list.getData();
current.move(frame_rate_duration);
if(current.dead())
{
this.linked_list.remove(current);
i--;
}
}
}
else
{
for (int i = 0; i < this.array.size(); i++)
{
Movable current = this.array.get(i);
current.move(frame_rate_duration); // move for 1/100 of a second simulated time
if (current.dead())
{
this.array.remove(i);
i--; // go back one spot so we don't skip an item
}
}
}
我只是想知道我是否需要改变我的for循环?或者如果我需要更改getData()方法。
答案 0 :(得分:0)
this.linked_list
宣称为什么?很难从你的描述中看出来,但我想知道你公开getData
方法的链表类是否继承了你的没有所述方法的接口,你是通过这个接口引用链表吗?
如果是这种情况,则需要将linked_list转换为适当的类型,或者最好我假设,将其直接声明为您的类型/子类。
当然,这完全取决于你的评论&#34;它的表现就像没有这样的方法&#34;意味着您收到编译器错误,表明您的链表类中没有这样的方法。
其他可能性:
getData
方法的旧版本)