Java 中的 lambda 表达式是对象吗?

java 8object oriented programmingprogramming

是的,任何 lambda 表达式 都是 Java 中的对象。它是 函数式接口e 的一个实例。我们已将 lambda 表达式分配给任何变量,并像传递任何其他对象一样传递它。

语法

(parameters) -> expression
             or
(parameters) -> { statements; }

在下面的示例中,lambda 表达式如何分配给变量以及如何调用它。

示例

@FunctionalInterface
interface ComparatorTask {
   public boolean compare(int t1, int t2);
}
public class LambdaObjectTest {
   public static void main(String[] args) {
      ComparatorTask ctask = (int t1, int t2) -> {return t1 > t2;}; // lambda 表达式
      boolean b = ctask.compare(10, 3);
      System.out.println("The result is: " + b);
   }
}

输出

The result is: true

相关文章