im试图使用akka流的Javadsl变体,当我尝试定义应该采用一对元素的流程时,我似乎已经遇到了问题。
说,例如,我定义了一个接受传入的字符串的流程,并将其与布尔人配对,说明字符串的长度为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 FLOW,因为我不知道是否应该在何处键入传入对(例如Pair<String, Boolean>
)
任何帮助和/或指示都非常感谢!
对于通用流元素类型,您可以使用
创建流程Flow.<Pair<String, Boolean>> create()
在这方面允许比Flow.of(...)
更多的自由。在所有非传播情况下,选择哪一个是一个品味问题。