Я пытаюсь следовать типичному разнородному шаблону контейнера Джошуа Блоха из Effective Java, чтобы создать контейнер объектов (MyGeneric<T>
) с Class<T>
в качестве ключа.
public class MyClass {
private Map<Class<?>, MyGeneric<?>> myContainer =
new HashMap<Class<?>, MyGeneric<?>>();
public <T> void addToContainer(Class<T> class, MyGeneric<T> thing) {
myContainer.put(class, thing);
}
public <T> MyGeneric<T> getFromContainer(Class<T> class) {
return (MyGeneric<T>)(myContainer.get(klass));
}
}
Проблема в getFromContainer Мне нужно выполнить неконтролируемый отбор. В контейнере Джоша Блоха он выполняет безопасный бросок - но в моем случае я не вижу способа, как это возможно.
Есть ли у кого-нибудь идеи?
Cheers, Ник.