📅  最后修改于: 2023-12-03 15:15:54.792000             🧑  作者: Mango
在Java 8中,添加了一些新的函数式接口,其中之一是BooleanSupplier
接口。BooleanSupplier
接口是一个函数式接口,该接口定义了一个不带参数但返回布尔值的方法getAsBoolean()
。该接口通常与java.util.function
包中的其他接口一起使用。
@FunctionalInterface
public interface BooleanSupplier {
boolean getAsBoolean();
}
BooleanSupplier
接口是一个函数式接口,因此可以使用lambda表达式来表示它。接口中定义了一个方法getAsBoolean()
,该方法返回一个布尔值。
以下示例展示了如何使用BooleanSupplier
接口创建lambda表达式和方法引用。
import java.util.Random;
import java.util.function.BooleanSupplier;
public class BooleanSupplierExample {
public static void main(String[] args) {
// 使用lambda表达式创建BooleanSupplier
BooleanSupplier randomBoolean = () -> new Random().nextBoolean();
System.out.println("Random Boolean value: " + randomBoolean.getAsBoolean());
// 使用方法引用创建BooleanSupplier
BooleanSupplier trueBoolean = BooleanSupplierExample::returnTrue;
System.out.println("True Boolean value: " + trueBoolean.getAsBoolean());
BooleanSupplier falseBoolean = BooleanSupplierExample::returnFalse;
System.out.println("False Boolean value: " + falseBoolean.getAsBoolean());
}
public static boolean returnTrue() {
return true;
}
public static boolean returnFalse() {
return false;
}
}
以上代码创建了两个BooleanSupplier接口的实例 randomBoolean
和 trueBoolean
。randomBoolean
使用了lambda表达式,而 trueBoolean
使用了方法引用。另外,也创建了一个名为 falseBoolean
的实例,其返回布尔值 false
。
输出:
Random Boolean value: true
True Boolean value: true
False Boolean value: false
Java 8 的 BooleanSupplier
接口是一个简单但功能强大的函数式接口,可以使用 Lambda 表达式和方法引用创建实例。该接口非常有用,特别是在需要返回布尔值的情况下。