在带有子类的Hashmap <string,superclass =“”>中存储java Class对象

时间:2016-12-29 17:47:32

标签: java hashmap subclass

private final HashMap<String, Class<crawler.jobs.Worker>> availableWorkers = new HashMap<>();


availableWorkers.put("locations", LocationWorker.class);
availableWorkers.put("events", EventWorker.class);

 Class<crawler.jobs.Worker> workerClass = availableWorkers.get(queue);

LocationWorker和EventWorker都实现了Worker

我想将Worker类存储在Hashmap中。但这种方法不起作用。有什么建议吗?

感谢。

1 个答案:

答案 0 :(得分:1)

请在Class<? extends crawler.jobs.Worker>声明和您要退出的内容中尝试Map。整个程序中只有一个对象可能与Class<crawler.jobs.Worker>匹配,它是crawler.jobs.Worker.class