2

我正在尝试使用Akka 流的 javadsl 变体,当我尝试定义应该采用Pair元素的 Flow 时,我似乎遇到了问题。

比如说,我定义了一个 Flow,它接受传入的字符串并将其与一个布尔值配对,说明字符串的长度是否为 5 或更大:

final Flow<String, Pair<String, Boolean>, BoxedUnit> stringToPair = Flow
    .of(String.class)
    .map(s -> new Pair<>(s, s.length() >= 5));

这工作正常。但下一步是我定义一个流,它接受一对字符串和布尔值并再次返回字符串:

final Flow<Pair<String, Boolean>, String, BoxedUnit> pairToString = Flow
        .of(Pair.class)
        .map(p -> p.first());

我不确定是否应该使用 .of(Pair.class) 方法创建 pairToString 流,因为我不知道是否应该输入传入的 Pair 以及在哪里输入(例如Pair<String, Boolean>

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

4

1 回答 1

3

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

Flow.<Pair<String, Boolean>> create()

在这方面允许比Flow.of(...). 在所有非通用情况下,选择哪一个是个人喜好问题。

于 2015-05-14T06:28:59.877 回答