【发布时间】:2015-10-01 12:59:21
【问题描述】:
我以为我对another question 提出了一个很好的解决方案,但现在我认为它不会成功。
在 Otto 中,如果我这样做:
@Subscribe public void foo(ApiRequestEvent<Foo> event) {
}
@Subscribe public void bar(ApiRequestEvent<Bar> even) {
}
如果我将ApiRequestEvent<> 的任何实例发布到总线上,似乎这两种方法都会被调用。这是预期的吗?
我怀疑会发生这种情况,因为在 Java 中实际上只有一个类 ApiRequestEvent,而 Otto 正在查看该类而忽略了类型参数。
在我放弃这种方法之前,有什么方法可以解决吗?我打算使用这个参数化类作为我想要订阅的事件的“签名”。
【问题讨论】: