美文网首页
JAVA Lambda表达式的用法

JAVA Lambda表达式的用法

作者: 慕辙 | 来源:发表于2019-03-25 10:35 被阅读0次

Lambda表达式是Java SE 8中一个重要的新特性,初学时看着就很简短,其实Lambda表达式也就是一个语法糖,让你使用更少更简短的代码实现之前一样的功能。可以将其形象的理解为是一种速记,在你需要的地方你可以将方法以这种速记的形式写下。Lambda表达式就和方法一样,它提供了一个参数列表和使用这些参数的代码块或表达式。

Lambda表达式的结构

  • 基本语法:(parameters) -> expression或(parameters) -> (statements;)
  • 一个lambda表达式可以有零个或多个参数
  • 可以明确声明参数的类型,也可以根据上下文推断,例如:(int a)和(a)的效果相同
  • 当只有一个参数且其类型可以根据上下文推导时圆括号可省略,例如:a -> return a*2
  • Lambda表达式主题可包含零条或多条语句
  • Lambda表达式的主体只包含一条语句时,{}可省略

举例

import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 3, 6, 14, 24, 2, 10);
        System.out.println("print all numbers:");
        list.forEach(System.out::println);
        list.stream().sorted((o1, o2) -> o1.compareTo(o2)).forEach(System.out::println);
        list.stream().filter(n -> n % 2 == 0).forEach(System.out::println);
        int sum = list.stream().map(x -> x * x).reduce((x, y) -> x + y).get();
        System.out.println(sum);
    }
}

结果

print all numbers:
1
3
6
14
24
2
10
1
2
3
6
10
14
24
6
14
24
2
10
922

相关文章

网友评论

      本文标题:JAVA Lambda表达式的用法

      本文链接:https://www.haomeiwen.com/subject/sewmvqtx.html