我试图使用Akka streams的javadsl变体,当我尝试定义一个应该使用Pair元素的Flow时,我似乎遇到了问题。
比方说,例如,我已经定义了一个接受传入字符串的流,并用一个布尔表示它,或者字符串的长度为5或更大:
final Flow<String, Pair<String, Boolean>, BoxedUnit> stringToPair = Flow
.of(String.class)
.map(s -> new Pair<>(s, s.length() >= 5));
这很好用。 但下一步是我定义一个Flow,它采用Pairs of String和Boolean并再次返回String:
final Flow<Pair<String, Boolean>, String, BoxedUnit> pairToString = Flow
.of(Pair.class)
.map(p -> p.first());
我不确定是否应该使用.of(Pair.class)方法创建pairToString流,因为我不知道是否应该键入传入的对(以及Pair<String, Boolean>
)
非常感谢任何帮助和/或指示!
答案 0 :(得分:2)
对于通用流元素类型,您可以使用
创建流Flow.<Pair<String, Boolean>> create()
这允许在这方面比Flow.of(...)
更多的自由。在所有非一般情况下,选择哪一个是品味问题。