首页 > 解决方案 > 将泛型类与泛型类一起使用

问题描述

我有一个类(来自akka),它看起来像这样: public class HighLevelEventBus extends ScanningEventBus<Class<? extends TimedEvent>, Integer, String> {...} 我想做的是把它从Class<? extends TimedEvent>某种对象变成某种对象,<T extends TimedEvent>例如。我之所以要这样做是因为在 ScanningEventBus 中有一些方法,例如

@Override
    public boolean matches(String classifier, Class<? extends TimedEvent> event) {
        return nuull;
    }

在此方法中,我想做类似的事情,event.someMethodFromTimedEvent()但我必须先这样做:TimedEvent timedEvent = event.cast(event.getClass()); timedEvent.someMethodFromTimedEvent();这对我来说似乎是错误的。

我的目标是拥有类似于这种方法的东西:

public <T extends TimedEvent> boolean matches(String somethingSomething, T event) {
        return classifier.equals(event.someMethodFromTimedEvent());
    }

但我需要覆盖原来的matches(...)方法,所以为了做到这一点,我需要改变ScanningEventBus<Class<? extends TimedEvent>, Integer, String> {...}

标签: javaclassobjectgenerics

解决方案


推荐阅读