将Map从类<! - ? - >保存到Java中的Handler对象的最合适方法是什么?

时间:2014-07-24 20:03:34

标签: java map handler

我有一个传入的请求队列,并希望能够为不同类型的请求(由其类标识)注册处理程序对象(接口RequestHandler的实例)。存储此地图的最合适(最有效和最快)的方法是什么?

要清除:我搜索存储类和处理程序之间关系的最佳方法。

1 个答案:

答案 0 :(得分:1)

我使用过Map<Class, RequestHandler>并确保各个类型在使用它的方法中匹配。

private final Map<Class, RequestHandler> handlerMap = new HashMap<>();

public <T extends Request> void setHandler(Class<T> tClass, RequestHandler<T> handler) {
     handlerMap.put(tClass, handler);
}

public <T extends Request> RequestHandler<T> getHandler(Class<T> tClass) {
     return (RequestHandler<T>) handlerMap.get(tClass);
}