使用子类将 java Class 对象存储在 Hashmap<String, Superclass> 中
Storing java Class object in a Hashmap<String, Superclass> with subclasses
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 中。但这种方法行不通。有什么建议吗?
谢谢。
请尝试 Class<? extends crawler.jobs.Worker>
,在 Map
声明和您要发布的内容中。整个程序中只有一个对象可能匹配Class<crawler.jobs.Worker>
,就是crawler.jobs.Worker.class
.
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 中。但这种方法行不通。有什么建议吗?
谢谢。
请尝试 Class<? extends crawler.jobs.Worker>
,在 Map
声明和您要发布的内容中。整个程序中只有一个对象可能匹配Class<crawler.jobs.Worker>
,就是crawler.jobs.Worker.class
.