如何在用户定义的类集合上启用迭代

时间:2014-11-15 10:49:38

标签: java

我正在努力迭代我的用户定义类集合。我仔细查看了SE上的帖子,但我不明白为了便于使用增强型for循环进行迭代需要什么。对于我的班级:

class MyClass
{
}

Collection<MyClass> mc = Lists.newArrayList();
// make a bunch of instances of MyClass and add them to the collection.

我可以像这样迭代而没有任何问题:

for (Iterator iterator = mc.iterator(); iterator.hasNext();) {
    MyClass myClass = (MyClass) iterator.next();
    //do some stuff
}

但如果我尝试使用增强型for循环进行迭代,编译器会抱怨:

for (MyClass : mc){
    // do stuff
}

我收到一条错误消息,因为编译器在&#39; mc&#39;之后期待分号。 for循环中的变量。任何使用增强型for循环进行迭代的帮助都将受到赞赏。

由于

1 个答案:

答案 0 :(得分:0)

您忘记指定变量名称:

for (MyClass myClass : mc){
    // do stuff
}