首页 > 解决方案 > 如何在地图中引用静态类以便调用它?

问题描述

所以基本上,我试图解决的用例是我有需要处理的数据,并且数据被分成几种不同的类型。我想为每种数据类型编写一个单独的处理器,然后使用映射来确定使用哪个处理器并调用它。本质上,我想要

private Map<String, EventProcessor> mapping =  new ImmutableMap.Builder<String, Class>()
    .put("EventType1", EventType1Processor.class)
    .put("EventType2", EventType2Processor.class)
    .build();

public void processEvent(Event event){ 
    mapping.get(event.getType).process(event); 
} 

每个处理器都是一个静态类,每个 EventTypeXProcessor 都扩展自同一个类

我只是不确定在这样的地图中引用静态类的正确方法是什么

标签: javastaticmappinginvoke

解决方案


推荐阅读