将通用类作为输入传递给Akka Streams Flow

时间:2019-06-10 14:32:03

标签: java akka akka-stream

我想传递一个通用类,如下面的代码所示,但出现异常:

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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