Ho il seguente codice:Java 8 - Come utilizzare il predicato che ha una funzione con parametro?
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;
}
}
Qual è il modo corretto di convertire in modo da utilizzare Java 8 Stream
s?
Quando si tenta di utilizzare map()
, viene visualizzato un messaggio di errore dal getAttribute
non è un Function
.
int a = (int) blogImagesList.stream()
.map(WebElement::getAttribute("style"))
.filter(s -> s.contains(imageSrc))
.count();
potremmo fare qualche thingy "curry", ma non è probabilmente vale la pena - 'curry (:: getAttribute, "style") ' – ZhongYu