JDK1.8新特性(Day24)

Lambda表达式

        介绍

        Lambda表达式是一种没有名字的函数,也可称为闭包,是Java 8 发布的最重要新特性。本质上是一段匿名内部类,也可以是一段可以传递的代码。还有叫箭头函数的...

        闭包 

        闭包就是能够读取其他函数内部变量的函数,比如在java中,方法内部的局部变量只能在方法内部使用,所以闭包可以理解为定义在一个函数内部的函数

        闭包的本质就是将函数内部和函数外部链接起来的桥梁

         特点

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

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

        使用方式

函数式接口

        介绍

        英文称为Functional Interface

        其本质是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。

        核心目标是为了给Lambda表达式的使用提供更好的支持,进一步达到函数式编程的目标,可通过运用函数式编程极大地提高编程效率。

        其可以被隐式转换为 lambda 表达式。

        特点

        函数式接口是仅制定一个抽象方法的接口可以包含一个或多个静态或默认方法。

        专用注解即@FunctionalInterface 检查它是否是一个函数式接口,也可不添加该注解

        如果有两个或以上 抽象方法,就不能当成函数式接口去使用,也不能添加@FunctionalInterface这个注解

        如果只有一个抽象方法,那么@FunctionalInterface注解 加不加 都可以当做函数式接口去使用

        回调函数

        简单来说就是回调函数,方法的参数是一个方法,在这个方法中对传递的方法进行调用

        使用方式

方法引用和构造器调用 

        概念说明

        Lambda表达式的另外一种表现形式,提高方法复用率和灵活性。

        特点

        更简单、代码量更少、复用性、扩展性更高。

        使用方式

 

 Stream API

         概念说明

        数据渠道、管道,用于操作数据源(集合、数组等)所生成的元素序列。集合讲的是数据,流讲的是计算,即一组用来处理数组,集合的API。

        特点

        Stream 不是数据结构,没有内部存储,自己不会存储元素。

        Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream。

        Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。

        不支持索引访问。

        延迟计算

        支持并行

        很容易生成数据或集合

        支持过滤,查找,转换,汇总,聚合等操作。

        使用方式

 

 

 

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值