首页 > 编程语言 > 详细

Java基础知识08--lambda表达式与函数式接口详解

时间:2021-09-02 13:00:31      阅读:14      评论:0      收藏:0      [点我收藏+]

1.什么是Lambda表达式?

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。

Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

使用 Lambda 表达式可以使代码变的更加简洁紧凑。

2.使用Lambda的限制条件

Lambda并不是任何地方都可以使用,Lambda表达式需要“函数式接口”的支持。

3.什么是函数式接口?

接口中只有一个抽象方法的接口,称为函数式接口,可以用@FunctionalInterface修饰一下,这里需要注意的是:未使用 @FunctionalInterfaces注解的接口未必就不是函数式接口,一个接口是不是函数式接口的条件只有一条,即接口中只有一个抽象方法的接口(Object类中的方法不算)。而使用@FunctionalInterface注解修饰了的接口就一定是函数式接口,添加@FunctionalInterface注解可以帮助我们检查是否是函数式接口。

函数式接口(Functional Interface)是java8新增的特性,它是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为lambda表达式。

JDK中常见的函数式接口有:

package java.lang;

@FunctionalInterface
public interface Runnable {
    void run();
}
package java.util.concurrent;

@FunctionalInterface
public interface Callable<V> {
    V call() throws Exception;
}

4.lambda表达式基础语法

 java中,引入了一个新的操作符“->”,该操作符在很多资料中,称为箭头操作符,或者lambda操作符;箭头操作符将lambda分成了两个部分:

左侧:lambda表达式的参数列表

右侧:lambda表达式中所需要执行的功能,即lambda函数体

4.1 语法格式一:无参数,无返回值

 

参考文献:https://www.jianshu.com/p/8d7f98116693

https://www.cnblogs.com/wuhenzhidu/p/lambda.html

Java基础知识08--lambda表达式与函数式接口详解

原文:https://www.cnblogs.com/luckyplj/p/15213888.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!