📅  最后修改于: 2023-12-03 15:01:28.045000             🧑  作者: Mango
Java中的函数接口(Functional Interface)是指仅具有单个抽象方法的接口。这些接口通常用作Lambda表达式和方法引用的类型。LongPredicate是这些函数接口之一。LongPredicate是一个只接受一个long类型参数并返回布尔类型结果的函数接口。
下面是LongPredicate接口的定义:
@FunctionalInterface
public interface LongPredicate {
boolean test(long value);
}
该接口只有一个test()方法,它接受一个long类型参数并返回一个布尔结果。该接口被注释为FunctionalInterface,这意味着它仅具有一个抽象方法。
下面是一个使用LongPredicate的示例:
import java.util.function.LongPredicate;
public class LongPredicateExample {
public static void main(String[] args) {
LongPredicate evenNumber = (long n) -> n % 2 == 0;
LongPredicate oddNumber = (long n) -> n % 2 != 0;
System.out.println("Even Numbers:");
printNumbers(evenNumber);
System.out.println("Odd Numbers:");
printNumbers(oddNumber);
}
public static void printNumbers(LongPredicate predicate) {
for (long i = 1; i <= 10; i++) {
if (predicate.test(i)) {
System.out.println(i);
}
}
}
}
在上述示例中,我们定义了两个LongPredicate对象,一个用于返回偶数,另一个用于返回奇数。我们然后调用printNumbers()函数,并将这两个对象作为参数传递。printNumbers()函数将从1到10的数字迭代,并传递每个数字给传递的LongPredicate对象,以检查该数字是否为偶数或奇数。如果是,它将打印该数字。
Java中的函数接口是用于Lambda表达式和方法引用的类型。LongPredicate是这些函数接口之一。它是一个只接受一个long类型参数并返回布尔类型结果的函数接口。我们可以使用该接口来过滤或操作数字或其他长整型值。