目前我使用嵌套的 for-each 回圈來實作相同的效果。
List<String> valueListToBeFilter = Arrays.asList("8 digit mobile number", "Please enter mobile number.");
List<String> newfoundValueList = new ArrayList<>();
for (String value : valueListToBeFilter) {
for (WebElement element : _webElementsErrorList) {
if (element.getText().contains(value))
newfoundValueList.add(element.getText());
}
}
newfoundValueList.forEach(System.out::println);
我得到了所需的結果,但如何使用流實作相同的結果
uj5u.com熱心網友回復:
最好在“嵌套”流中交換map和filter減少代碼,但通常這是一個小改進:
List<String> newfoundValueList = valueListToBeFilter
.stream()
.flatMap(value -> _webElementsErrorList
.stream()
.map(WebElement::getText)
.filter(elementText -> elementText.contains(value))
)
.collect(Collectors.toList());
uj5u.com熱心網友回復:
應該與-List 的.flatMap另一個流一起使用,WebElement如下所示:
List<String> newfoundValueList = valueListToBeFilter.stream()
.flatMap(value -> _webElementsErrorList.stream()
.filter(element -> element.getText().contains(value))
.map(element -> element.getText()))
.collect(Collectors.toList());
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/367173.html
下一篇:InvalidArgumentException:訊息:無效引數:“url”必須是使用get()呼叫url的字串
