需要一些使用Java Generics的帮助
发布时间:2020-05-24 05:06:15 所属栏目:Java 来源:互联网
导读:我正在尝试建立一个系统来响应我的应用程序中发生的事件,类似于Observer模式.在我的系统中,EventProducers触发事件,EventConsumers响应这些事件,两者通过中央集线器连接:目前,我将忽略EventProducer并专注于EventHub和EventConsumer:interface EventConsume
我正在尝试建立一个系统来响应我的应用程序中发生的事件,类似于Observer模式.在我的系统中,EventProducers触发事件,EventConsumers响应这些事件,两者通过中央集线器连接: 目前,我将忽略EventProducer并专注于EventHub和EventConsumer:
问题在于HashMap的声明:我希望能够做类似的事情
因此EventConsumer的参数化类型与Class相同,但我能得到的最接近的是
但是,这将允许诸如HashSet< EventConsumer< MouseClickEvent>>之类的内容.被分配给Class< KeyPressEvent>,假设KeyPressEvent和MouseClickEvent子类Event. 第二个问题在于subscribeToEvent:我需要能够将消费者存储在与其事件相对应的正确集合中,例如
但我无法在运行时获得E级. 我该如何解决这些问题?我是以错误的方式来做这件事的吗? 最佳答案 您可以从EventConsumer类中删除泛型.但是你必须在EventConsumer的每个实现中强制转换Event对象. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |