📜  Java .util。 Java中的函数.LongPredicate接口与示例(1)

📅  最后修改于: 2023-12-03 15:01:28.045000             🧑  作者: Mango

Java中的函数.LongPredicate接口与示例

Java中的函数接口(Functional Interface)是指仅具有单个抽象方法的接口。这些接口通常用作Lambda表达式和方法引用的类型。LongPredicate是这些函数接口之一。LongPredicate是一个只接受一个long类型参数并返回布尔类型结果的函数接口。

LongPredicate接口定义

下面是LongPredicate接口的定义:

@FunctionalInterface
public interface LongPredicate {
    boolean test(long value);
}

该接口只有一个test()方法,它接受一个long类型参数并返回一个布尔结果。该接口被注释为FunctionalInterface,这意味着它仅具有一个抽象方法。

LongPredicate示例

下面是一个使用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类型参数并返回布尔类型结果的函数接口。我们可以使用该接口来过滤或操作数字或其他长整型值。