Java 中没有参数的通用方法

Generic Method in Java with out parameters

我正在尝试实现类似于在 eshopOnContainers 中实现的 EventBus 的东西。

是否可以在 java 中定义这样的方法并在运行时读取有关 T 和 TH 的元数据?可以有多个 class 扩展 IntegrationEvent(例如 PriceChangedEvent),我们应该能够在运行时识别确切的 class 名称。

public <T extends IntegrationEvent, TH extends IntegrationEventHandler<T>> void subscribe() {
       
        
}

您可以将类型信息传递到方法中:

        public <T extends IntegrationEvent, TH extends IntegrationEventHandler<T>> void subscribe(java.lang.Class<T> tClass, java.lang.Class<TH> thClass) {

        }

可能 Guava Event Bus 对你有用。