【发布时间】:2015-09-01 13:03:02
【问题描述】:
我有以下代码:
public boolean isImageSrcExists(String imageSrc) {
int resultsNum = 0;
List<WebElement> blogImagesList = driver.findElements(blogImageLocator);
for (WebElement thisImage : blogImagesList) {
if (thisImage.getAttribute("style").contains(imageSrc)) {
resultsNum++;
}
}
if (resultsNum == 2) {
return true;
} else {
return false;
}
}
将其转换为使用 Java 8 Streams 的正确方法是什么?
当我尝试使用 map() 时,我收到一个错误,因为 getAttribute 不是 Function。
int a = (int) blogImagesList.stream()
.map(WebElement::getAttribute("style"))
.filter(s -> s.contains(imageSrc))
.count();
【问题讨论】:
-
我们可以做一些“咖喱”的东西,但这可能不值得 -
curry(::getAttribute, "style")
标签: java lambda java-8 java-stream predicate