如何为Java创建和使用带有Akka Streams的Pairs流?

时间:2015-05-13 14:16:49

标签: java stream akka akka-stream

我试图使用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>

非常感谢任何帮助和/或指示!

1 个答案:

答案 0 :(得分:2)

对于通用流元素类型,您可以使用

创建流
Flow.<Pair<String, Boolean>> create()

这允许在这方面比Flow.of(...)更多的自由。在所有非一般情况下,选择哪一个是品味问题。