Lambda表达式

1.Lambda语法格式

Lambda表达式

 

约束条件:只能实现有且只有一个抽象方法的接口,Java称为 函数式接口

public interface MathOperation {

  public int operation(int a, int b);

}

public class Java8Tester {

  public static void main(String args[]){

    // 类型声明

    MathOperation addition = (int a, int b) -> a + b;

    // 不用类型声明

    MathOperation subtraction = (a, b) -> a - b;

    // 大括号中的返回语句

    MathOperation multiplication = (int a, int b) -> { return a * b; };

    // 没有大括号及返回语句

    MathOperation division = (int a, int b) -> a / b;

    System.out.println("10 + 5 = " + tester.operate(10, 5, addition));

    System.out.println("10 - 5 = " + tester.operate(10, 5, subtraction));

    System.out.println("10 x 5 = " + tester.operate(10, 5, multiplication));

    System.out.println("10 / 5 = " + tester.operate(10, 5, division));

  }

}

 

2.函数式编程

函数式接口:只能实现有且只有一个抽象方法的接口

函数式接口注解:@FunctionalInterface

基于函数式接口并使用Lambda表达式的编程方式

函数式编程理念是将代码作为可重用数据代入程序运行中

函数式编程强调 你想做什么  而不是 你想怎么做

JDK8之后提供了一系列新的函数式接口,位于 java.util.function 包

Lambda表达式

 

Lambda表达式

 

 3.Stream流式处理

 

 

 

Lambda表达式

上一篇:stable_sort自定义比较函数踩坑(粗浅理解)


下一篇:CSS构造表单