我有while循环,应该在condition1为真或condition2为真时运行。 12的大小写取决于某些初始布尔条件。

现在,我将其实现为三元运算符,但我想了解如何使用谓词和lambda表达式来完成此操作。
有人可以提供例子吗?如何声明一个Function变量并将其置于while循环条件中?

boolean initialCondition = stopBtn.getText().length() > 0;

while(initialCondition ? stopBtn.waitToBeHidden() : stopBtn.isDisplayed()) {
    if (a++ < 5) {
        stopBtn.click();
    }
}
return this;

最佳答案

我认为即使在谓词中,您也需要if / else。

如果您提供更多的代码,可能会更容易看到您打算做什么。使用谓词(您可以随后绕过等)的一种方法是:

Predicate<StopBtnClass> pred = btn -> btn.getText().length() > 0 ? btn.waitToBeHidden() : btn.isDisplayed();

while(pred.test(stopBtn)) {
    ...

10-07 23:50