在Java中如何使用lambda和方法引用实现DoublePredicate
DoublePredicate是在java.util.function包中定义的内置函数接口。该接口可以接受一个双浮点值参数作为输入,并生成一个布尔值作为输出。DoublePredicate接口可用作lambda表达式或方法引用的赋值目标。这个接口包含一个抽象方法:test()和三个缺省方法:and(),or()和negate()。
语法
@FunctionalInterface
public interface DoublePredicate {
boolean test(double value)
}Lambda表达式示例
import java.util.function.DoublePredicate;
public class DoublePredicateLambdaTest {
public static void main(String args[]) {
DoublePredicate doublePredicate = (double input) -> { // lambda 表达式
if(input == 2.0) {
return true;
} else
return false;
};
boolean result = doublePredicate.test(2.0);
System.out.println(result);
}
}输出结果
true
方法引用示例
import java.util.function.DoublePredicate;
public class DoublePredicateMethodRefTest {
public static void main(String[] args) {
DoublePredicate doublePredicate = DoublePredicateMethodRefTest::test; //方法引用
boolean result = doublePredicate.test(5.0);
System.out.println(result);
}
static boolean test(double input) {
if(input == 5.0) {
return true;
} else
return false;
}
}输出结果
true