Java教程

Java Lambda表达式 与 函数式接口

本文主要是介绍Java Lambda表达式 与 函数式接口,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JDK8中增加了一个特性Lambda表达式, 这种表达式只针对有一个抽象方法的接口实现, 以简单的表达式形式实现接口功能来作为方法参数.

三个组成部分

参数列表
->
表达式主体

语法格式

([数据类型 参数名, 数据类型 参数名,...])->{表达式主体}

具体说明

  1. 参数列表里的参数类型可以省略参数的数据类型, 若只有一个参数, 则可以省略括号()
  2. ->: 表示Lambda 表达式箭牌, 用来指定参数数据的指向, 不能省略
  3. 若表达式主体只有一条语句,则可以省略大括号
  4. Lambda表达式主体允许有返回值, 当只有一条return语句时, 也可以省略return关键字.

函数式接口 是指有且仅有一个抽象方法的接口,Lambda表达式就是Java函数式编程的体现,只有确保接口中有且仅有一个抽象方法,Lambd表达式才能顺利的推导出所实现的接口中的方法.
JDK8中,专门为函数接口引入了一个@FunctionalInterface 注解,该注解显示地标注了接口是一个函数式接口,并强制编译器进行更严格地检查.

方法引用和构造器引用,进一步简化Lambda表达式的书写

List<Integer> list = new LinkedList<>();
list.add(1);
list.add(4);
list.add(0);
list.forEach(System.out::println);
这篇关于Java Lambda表达式 与 函数式接口的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!