обработчик цепочки ответственности с java-дженериками

Я использую шаблон проектирования «Цепочка ответственности» в Java. Цепочка в целом представляет собой запрос на объекты определенных типов. Каждый «Обработчик» в цепочке отвечает за обработку запрошенных единиц 1 типа. m, используя шаблон проектирования «Цепочка ответственности» в Java. Цепочка в целом представляет собой запрос на объекты определенных типов. Каждый «Обработчик» в цепочке отвечает за обработку запрошенных единиц 1 типа. m, используя шаблон проектирования «Цепочка ответственности» в Java. Цепочка в целом представляет собой запрос на объекты определенных типов. Каждый «Обработчик» в цепочке отвечает за обработку запрошенных единиц 1 типа. Все запросы обрабатываются практически одинаково, поэтому я попытался сделать класс «Handler» универсальным. Итак, в классе Handle мне нужен такой метод (сама обработка упрощена, потому что это только запутывает мою проблему):

public class Handler<T>{
   int required;
   Handler<?> next;

   public void handle(Object O){
      if(o instanceof T){
         required --;
      }else{
         next.handle(o);
      }
   }
}

Проблема в том, что instanceof, подобный этому, невозможен. Потому что тип T явно не сохраняется во время выполнения (или это то, что я понял во время своих исследований в Интернете). Итак, мой вопрос: какова лучшая альтернатива?

5
задан Jim Ferrans 27 November 2010 в 16:16
поделиться