我正在尝试使用 Akka streams 的 javadsl 变体,当我尝试定义一个应采用 Pair 的流程时,我似乎遇到了问题。元素。
例如,我定义了一个 Flow,它接受传入的字符串并将其与一个 boolean 值配对,说明该字符串的长度是否为 5 或更大:
final Flow<String, Pair<String, Boolean>, BoxedUnit> stringToPair = Flow
.of(String.class)
.map(s -> new Pair<>(s, s.length() >= 5));
这很好用。 但下一步是我定义一个 Flow,它接受成对的字符串和 boolean 值并再次返回字符串:
final Flow<Pair<String, Boolean>, String, BoxedUnit> pairToString = Flow
.of(Pair.class)
.map(p -> p.first());
我不确定是否应该使用 .of(Pair.class) 方法创建pairToString 流,因为我不知道是否应该键入传入的 Pair 以及在何处键入(如 Pair<String, Boolean>
)
非常感谢任何帮助和/或指示!
最佳答案
对于通用流元素类型,您可以使用创建流
Flow.<Pair<String, Boolean>> create()
在这方面比 Flow.of(...)
提供更多自由。在所有非通用情况下,选择哪一个都是个人喜好问题。
关于java - 如何通过 Akka Streams for java 创建和使用 Pair 流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30217557/