0

ジェネリック コレクションのループ処理に問題があります。私のクラスはコンパイル エラーを直接表示しませんが、IDE (Netbeans) はプロジェクト ツリー内のクラス アイコンに「ファイルの解析中にエラーが発生しました」というエラーを表示しています。どんな助けでも大歓迎です。

私のコード

public abstract class AutocompleteCacheImpl<E> implements AutocompleteCache {

    public void store(Collection<E> es) {
        for(E e : es) {
            store(e);
        }
    } 

    public void store(E e) {
        //do something
    }
}

インターフェース

public interface AutocompleteCache<E> {

    public void store(Collection<E> es);

}
4

2 に答える 2

3

public class AutocompleteCacheImpl<E> implements AutocompleteCache

This is wrong, because the AutocompleteCache interface is also generic.

Try this:

public abstract class AutocompleteCacheImpl<E> implements AutocompleteCache<E>

Also, the keyword public should come before the keyword abstract

于 2012-05-10T13:43:20.320 に答える
2

You need to specify the generic type (AutocompleteCache ==> AutocompleteCache<E>) to let the compiler know that the E in AutocompleteCacheImpl is the same as the E in AutocompleteCache:

public abstract class AutocompleteCacheImpl<E> implements AutocompleteCache<E>
于 2012-05-10T13:42:21.910 に答える