无法在Kotlin中创建SubscribableChannel

时间:2018-05-02 16:26:35

标签: spring-boot kotlin

这适用于Java:

SubscribableChannel c = MessageChannels.publishSubscribe().get();

转换为kotlin(通过IntelliJ),这变为:

val c : SubscribableChannel = MessageChannels.publishSubscribe<S>().get()

我找不到能满足“S”

要求的Type

签名或发布订阅是:

public static <S extends PublishSubscribeChannelSpec<S>> PublishSubscribeChannelSpec<S> publishSubscribe() 

<S extends PublishSubscribeChannelSpec<S>>递归取决于S时能满足S的内容?

为什么这不是Java的问题?

1 个答案:

答案 0 :(得分:0)

您可以这样称呼它:

val c: SubscribableChannel = MessageChannels.publishSubscribe<PublishSubscribeSpec>().get()

为什么它在没有Java类型的情况下工作我不知道。我的猜测是Java能够推断出类型,但我不知道Kotlin为什么不能这样做。