我有一个Stream<Function<String, Pair<Boolean, String>>
criteria 是 lambda 表达式的可变参数
Stream.of(criteria)
.map(func -> func.apply(input))
.filter(result -> result.getValue0() == false);
我想提取字符串 if getValue0 == false
。我想在最后连接字符串。谁能给我指点一下吗?
最佳答案
您的代码片段中已有的是该函数应用于每个条件。然后您将仅过滤那些值为 true 的内容。这似乎与你想要的相反。也许翻转结果,如 result -> !result.getValue0()
所示?您将需要另一个 map
操作来获取字符串流而不是对,并需要一个 collect
操作来连接它们。正如评论中指出的,看看 Collectors.joining .
关于java - 如何使用 Java Stream.of 从 Pair<Boolean,String> 中提取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58495492/