私は単純なファクトリを構築しようとしています。そこでは、拡張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>>(){}
") の呼び出しを除外しません。
私は何を間違っていますか?