не может создать SubscribeableChannel в Котлине - PullRequest
0 голосов
/ 02 мая 2018

Это работает на Java:

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

конвертируется в котлин (по IntelliJ) это становится:

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

Я не могу найти тип, который может удовлетворить требования для "S"

Подпись или опубликоватьПодписаться на это:

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

что может удовлетворить <S extends PublishSubscribeChannelSpec<S>>, когда S рекурсивно зависит от S?

А почему это не проблема для Java?

1 Ответ

0 голосов
/ 03 мая 2018

Вы можете назвать это так:

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

Почему это работает без типа в Java, я понятия не имею. Я предполагаю, что Java может определить тип, но я не знаю, почему Котлин не может сделать то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...