java8新特性之lambda表达式的应用
2019-03-21 19:58
295 查看
java8新特性之lambda表达式的应用
lambda表达式的基础语法
java8引入了一个"->"箭头操作符,也叫做lambda表达式。箭头操作符将Lambda表达式拆分成两部分。
格式
- 左侧:Lambda表达式的参数列表
- 右侧:Lambda表达式的所执行的功能,即Lambda体。
- 1、语法格式一:无参数列表,无返回值
-
() -> system.out.println();
- 2、语法格式二:有一个参数,无返回值
-
(x) -> system.out.println(x)
- 3、语法格式三:若只有一个参数,无返回值,小括号可以不写
-
x -> system.out.println(x)
- 4、语法格式四:有两个以上的参数,有返回值,并且输出多条语句。
-
Comparator<Integer> c1 = (x,y) -> { System.out.println("函数式接口"); return Integer.compare(x,y); };
- 5、语法格式五:若Lambda表达式只有一条语句,则return和大括号都可以不写。
-
Comparator<Integer> c2 = (x,y) -> Integer.compare(x,y);
- 6、Lambda表达式的参数列表的基本数据类型可以省略不写,因为JVM编译器可以通过上下文推断出。
-
List<String> list = new ArrayList<>();
Lambda需要函数式接口的支持
函数式接口:接口中只有一个抽象方法,就称为函数式接口。
- 测试
public static void main(String[] args) { //Runable接口无参数列表,无返回值 原生的写法 Runnable a = new Runnable() { @Override public void run() { System.out.println("你好"); } }; //格式一测试: Runnable r = () -> System.out.println("你好!"); //格式二: Consumer<String> c = (x) -> System.out.println(x); c.accept("你好!"); //格式四: Comparator<Integer> c1 = (x,y) -> { System.out.println("函数式接口"); return Integer.compare(x,y); }; //格式五: Comparator<Integer> c2 = (x,y) -> Integer.compare(x,y); } //格式六 List<String> list = new ArrayList<>();
今天又是愉悦的一天,每天进步一点点。
相关文章推荐
- javaSE_8系列博客——Java语言的特性(三)--类和对象(21)--何时使用Lambda 表达式?
- java8新特性 lambda表达式
- Java8新特性之Lambda表达式浅析
- java8新特性之函数式接口、lambda表达式、接口的默认方法、方法和构造函数的引用
- Java8 新特性----函数式接口,以及和Lambda表达式的关系
- java8新特性——Lambda表达式
- Java8特性总结(二)Lambda表达式,函数式接口,方法引用
- Java8新特性之Lambda表达式
- Java 8 新增特性Lambda表达式
- java8新特性Lambda表达式
- Java 8特性学习 --- Lambda表达式
- java8新特性——Lambda表达式
- Java8新特性 lambda表达式
- 初看Java8新特性-Lambda表达式的语法规则
- JAVA8的新特性 - Lambda表达式等
- Java 8 新特性:Lambda 表达式
- java8新特性--lambda表达式
- Java8 新特性之Lambda表达式
- java8新特性之lambda表达式(一)
- Java8新特性之:Lambda表达式