0

私は単純なファクトリを構築しようとしています。そこでは、拡張Aしてその新しいインスタンスを返すクラスのクラス名を取得します。そのために、クラス名からクラス オブジェクトへのマップを作成しようとしています。

public abstract class A {

}

public class B extends A {

}

public class AFactory {
    private Map<String, Class<? extends A>> classesMap =
        new HashMap<String, Class<? extends A>>() {
            { 
                add("B", B.class);
            }
        };
}

しかし、java は add() (" The method add(String, Class<B>) is undefined for the type new HashMap<String,Class<? extends A>>(){}") の呼び出しを除外しません。

私は何を間違っていますか?

4

1 に答える 1

3

というメソッドがないためadd、コレクションにキーと値のペアを追加するためのputメソッドです。HashMap

于 2013-09-12T08:30:54.020 に答える