首页 > 解决方案 > 在java中传递一个func条件

问题描述

有谁知道如何或有一个方法的例子,该方法接受一个函数,该函数将接受一个布尔值并返回一个布尔值?以及如何在代码中使用它?基本上我想将一个条件传递给一个方法,并在解析为真或假的方法中对其进行评估。我想在退出方法之前传递一个条件并检查它的布尔值。请帮忙。我有这个定义:

public void clickAndWaitForCondition(By locator, Function<Boolean,Boolean> condition){
   Webdriver.findElement(locator).click ();
   for (int i = 0; i <= 2; i++)
   {
      if (condition.apply() == true)
      { 
         break;
      }
   }
}

标签: javafunctionseleniumselenium-webdriver

解决方案


如果您的问题纯粹是如何调用该方法,您可以使用如下实例调用它Function

ClickAndWaitForCondition(by, new Function<Boolean,Boolean> {
  @Override
  public Boolean apply(Boolean aBoolean) {
    //do your magic here
    return !aBoolen; //example: negation
  }
});

或使用 lambda 表达式调用它,也以否定为例:

ClickAndWaitForCondition(by, a->!a);

推荐阅读