0

みなさんおはようございます、

学校のプロジェクトで少し問題があります。ハッシュマップ上に列挙を実装するイテレータを作成するように指示されています。

だから私はこの列挙を作りました:

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()によって返されます。現在の問題は、Eclipseが列挙型のメソッドを実装していないことを通知し続けることです。クイックフィックスを使用すると、クラスにhasMoreElements()およびnextElement()ダミーメソッドが追加されるだけです。どういうわけか、内部クラスにこれらのメソッドが表示されません。

誰か助けてくれませんか?どんな助けでも大歓迎です。

4

1 に答える 1

1

Backpackそれを実装していません。で使用される匿名の内部クラスgetEnumerationはです。Backpack自体に列挙を実装する場合は、それらのメソッドが必要です。

于 2010-05-30T06:45:42.493 に答える