Eclipse说我没有实现Enumeration,但是我做到了

时间:2010-05-30 06:42:19

标签: enumeration inner-classes

Goodmorning everyomor,

我的学校项目有点问题。 我们被告知要创建一个在Hashmap上实现Enumeration的迭代器。

所以我做了这个枚举:

public Enumeration<Object> getEnumeration() {
        return new Enumeration<Object>() {
            private int itemsDone = 0;
            Collection<Long> keysCollection = getContent().keySet();            
            Long [] keys = keysCollection.toArray(new Long[keysCollection.size()]);


            @Override
            public boolean hasMoreElements() {
                if(itemsDone < getContent().size() +1 ) {
                    return true;
                }else {
                    return false;
                }

            }
            @Override
            public Object nextElement() {               
                return getContent().get(keys[itemsDone++]);
            }
        };
    }

这适用于我的背包课程

public class Backpack extends Item implements Carrier, Enumeration<Object>{

getContent()返回hashmap。现在的问题是eclipse不断告诉我我没有实现Enumeration中的方法。如果我使用快速修复它只是在我的类中添加hasMoreElements()和nextElement()虚拟方法。 不知怎的,它没有在内部类中看到这些方法..

有人能帮帮我吗?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

Backpack没有实现它。 getEnumeration中使用的匿名内部类。如果你想让Backpack本身实现Enumeration,它需要有这些方法。