java双链接列表getData问题
我的双链接列表getData方法有问题。getData方法在我的迭代器中,但它的行为就像该方法一样不存在
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);
}
}
正如您在这段代码中所看到的,我试图调用它。链表。getData()但是它的行为就像没有这样的方法一样
public AnyType getData()
{
//Gets the data inside the currentNode
return currentNode.getData();
}
然而,这是迭代器中的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()方法
# 1 楼答案
this.linked_list
声明为什么?很难从您的描述中分辨出来,但是我想知道,您的链表类是否公开了getData
方法,继承了您的接口,而该接口没有所述方法,并且您正在通过该接口引用链表如果是这种情况,那么您需要将您的链接列表转换为适当的类型,或者我认为最好是将其直接声明为您的类型/子类
当然,这都是基于您的注释“它的行为就像没有这样的方法一样”,这意味着您收到一个编译器错误,表明在您的链表类中没有这样的方法
其他可能性:
getData
方法的旧版本)