Гетерогенный контейнер для хранения типизированных объектов в Java

Я пытаюсь следовать за Джошуа Блохом » s шаблон безопасного типа гетерогенного контейнера из Effective Java для создания контейнера объектов ( MyGeneric ) с ключом Class .

  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 I. необходимо выполнить непроверенное приведение. В контейнере Джоша Блоха он выполняет безопасное заклинание - но в моем случае я не вижу способа, как это возможно.

Есть ли у кого-нибудь какие-нибудь идеи?

Ура, Ник.

13
задан aioobe 26 May 2011 в 13:36
поделиться