java lambda 多个参数_Java 常用的几个lambda表达式

Lambda表达式是Java 8一个非常重要的新特性。它像方法一样,利用很简单的语法来定义参数列表和方法体。目前Lambda表达式已经成为高级编程语言的标配,像Python,Swift,C#等都已经支持Lambda表达式。

在Java 8的实现中,Lambda表达式其本质只是一个“语法糖”,经过编译器推断和处理,将其转换包装为常规的Java代码,因此就像题目所写的那样,可以让你的代码更为简洁。

Lambda表达式的基本语法:(parameters) -> expression 或 (parameters) -> { statements; }

Lambda表达式并不是一个方法,它可以用来定义了一个代码块,形式上很像是Java的匿名内部类。Lambda表达式通常会赋值给一个函数式接口,函数式接口是指只有一个抽象方法的接口。Lambda表达式可以通过上下文环境来推断变量类型, 因此在使用时尽量不人为明确的指定变量类型。

举例来看,假设我们有一个List类型的列表list,如果要遍历并打印列表内容,Java 7以前的代码如下:

1 for(String s : list) {2 System.out.println(s);3 }

Java 8来实现的话:

1 list.forEach((s) -> System.out.println(s));

或者

1 list.forEach(System.out::println);

再看一个例子,假设我们要对list进行排序,Java 7的代码如下:

你可能感兴趣的:(java,lambda,多个参数)