【问题标题】:Pass a generic class as an input to an Akka Streams Flow将泛型类作为输入传递给 Akka Streams Flow
【发布时间】:2023-12-27 15:52:02
【问题描述】:

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

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

我该如何纠正它?还是有其他方法?

注意:Flow.of(Pair&lt;A, B&gt;.class) 不起作用。我如何通过Pair&lt;A, B&gt; 而不是Pair

Flow<Pair<A, B>, B, NotUsed> func() {
  return Flow.of(Pair.class).map(i ->
    {
      B obj = i.second();
      return obj;
    });
}

【问题讨论】:

    标签: java akka akka-stream


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我会使用 create() 方法,并将类型参数用作:

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

      【讨论】:

        最近更新 更多