Java lambda 概述

Java lambda 是Java 8引入的新特性,它是一种函数式编程的概念,可以使代码更加简洁、优雅。Java lambda 有以下知识点:

语法格式:Java lambda 表达式的基本语法格式为 (parameters) -> expression,其中 (parameters) 表示参数列表,-> 是 Lambda 操作符,expression 表示表达式或语句块。
函数式接口:Lambda 表达式需要和函数式接口搭配使用。函数式接口是只有一个抽象方法的接口,可以使用 @FunctionalInterface 注解进行标记。
方法引用:Lambda 表达式可以使用方法引用来简化代码,方法引用是对已有方法的一个引用,可以使用 :: 运算符来表示。
Lambda 变量作用域:Lambda 表达式可以访问外部变量,但是这些变量需要被声明为 final 或者是事实上的 final。
Lambda 函数式编程:Lambda 表达式可以实现函数式编程,例如在 Java 中常见的操作集合的 map、reduce 等函数,都可以使用 Lambda 表达式来实现。
举例:

1、Lambda 表达式基本语法:

// 普通的方法
public void sayHello(String name) {
    System.out.println("Hello, " + name);
}

// 使用 Lambda 表达式
(name) -> System.out.println("Hello, " + name);

2、函数式接口:

@FunctionalInterface
public interface MyInterface {
    void doSomething();
}

3、方法引用:

// 普通的方法
public static int parseInt(String str) {
    return Integer.parseInt(str);
}

// 使用方法引用
Function<String, Integer> func = Integer::parseInt;

4、Lambda 变量作用域:

final int x = 10;
Function<Integer, Integer> func = (y) -> x + y;

5、Lambda 函数式编程:

List<String> list = Arrays.asList("apple", "banana", "orange");
List<String> result = list.stre