我有错误:
Type mismatch: cannot convert from element type Object to Card
使用以下代码:
Deck Removal
....
for (Card c : Removal)
d.removeCard(c);
这是我的套牌类中的迭代器方法:
@Override
public Iterator<Card> iterator()
{
return deck.iterator();
}
套牌的基础结构是Vector<Card>
。我的迭代器返回类型Card
。为什么它在for循环中告诉我Object
?
我可以执行以下操作然后错误就会消失,但这非常愚蠢,因为我已经应该返回Card
而不是Objects
。
Deck Removal
....
for (Object c : Removal)
d.removeCard((Card)c);
由于
答案 0 :(得分:3)
为了使Deck
上的增强型for循环返回Card
个对象,Deck
应该实现Iterable<Card>
,而不仅仅是Iterable
。