Передайте общий класс в качестве входных данных для потока Akka Streams

Я хотел бы передать общий класс, как показано в приведенном ниже коде, но получаю исключение:

Incompatible equality constraint `Pair<A, B>` and `Pair`.

Как я могу это исправить? Или есть другой подход?

ПРИМЕЧАНИЕ: Flow.of(Pair<A, B>.class) не работает. Как передать Pair<A, B> вместо Pair?

Flow<Pair<A, B>, B, NotUsed> func() {
  return Flow.of(Pair.class).map(i ->
    {
      B obj = i.second();
      return obj;
    });
}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
284
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Для простых случаев есть обходной путь:

  <A, B> Flow<Pair<A, B>, B, NotUsed> func(){
    return Flow.fromFunction(Pair::second);
  }

Я бы использовал метод create() и использовал параметр типа как:

Flow.<Pair<A, B>>create().map(// your lambda function)

Другие вопросы по теме