下面的业务逻辑

robot 传感器上报的信息,先按 robotId keyBy,之后要遍历很多的规则。每个规则存储一个之前的对象,实现如下:

private transient MapState<String, robotData> state;

for (Entry<String, IChargerTwoRecordRule> entry :
RulesFactory.getChargerTwoRecordRules().entrySet()) {
    String faultName = entry.getKey();
    IChargerTwoRecordRule rule = entry.getValue();
    RobotData old = state.get(faultName);
    rule.handleLogMsg(old, current);
}

现在有部分规则存储的对象不能用 RobotData 表示,有没有可能用类似泛型或继承的方式实现 MapState value 存储不同类型的数据呢?


比如

MapState<String, Object> state;

之后根据不同的规则 把 Object 转换成具体的类



谢谢,

王磊

回复