【发布时间】:2010-11-27 14:29:55
【问题描述】:
我在 Java 中使用责任链设计模式。整个链代表对某些类型对象的请求。链中的每个“处理程序”负责处理请求的 1 种类型的单元。 所有请求都以基本相同的方式处理,因此我尝试使“处理程序”类通用。 所以在 Handle-class 我需要一个这样的方法(处理本身被简化了,因为它只会混淆我的问题):
public class Handler<T>{
int required;
Handler<?> next;
public void handle(Object O){
if(o instanceof T){
required --;
}else{
next.handle(o);
}
}
}
问题是这样的 instanceof 是不可能的。因为类型 T 在运行时没有明确存储(或者这就是我在互联网上研究时所理解的)。所以我的问题是:最好的选择是什么?
【问题讨论】:
标签: java design-patterns generics