将通用 class 作为输入传递给 Akka Streams Flow
Pass a generic class as an input to an Akka Streams Flow
我想传递通用的 class,如下面的代码所示,但出现异常:
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;
});
}
对于简单的情况有一种解决方法:
<A, B> Flow<Pair<A, B>, B, NotUsed> func(){
return Flow.fromFunction(Pair::second);
}
我会使用 create() 方法,并将类型参数用作:
Flow.<Pair<A, B>>create().map(// your lambda function)
我想传递通用的 class,如下面的代码所示,但出现异常:
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;
});
}
对于简单的情况有一种解决方法:
<A, B> Flow<Pair<A, B>, B, NotUsed> func(){
return Flow.fromFunction(Pair::second);
}
我会使用 create() 方法,并将类型参数用作:
Flow.<Pair<A, B>>create().map(// your lambda function)