将泛型类作为输入传递给Akka Streams Flow

smdncfj3  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(156)

我想传递一个泛型类,如下面的代码所示,但是我得到了一个异常:

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;
    });
}
lmvvr0a8

lmvvr0a81#

对于简单的情况,有一种解决方法:

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

ldioqlga2#

我会使用create()方法,并使用type参数:

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

相关问题