Я хотел бы передать общий класс, как показано в приведенном ниже коде, но получаю исключение:
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)