Lambda表达式中的方法引用以及简单使用

 基本的函数式接口:

消费类型Consumer<T>void accept(T t)
生产类型Supplier<T>T get()
转换类型Function<T, R>R apply(T t)
判断类型Predicate<T>boolean test(T t)

========================================================================

Lambda表达式中的方法引用是为了满足在一些特定情况下,对能够进行省略书写的lambda表达式书写更加省略以及紧凑,从而诞生的一种语法糖写法;

方法引用的分类:

分类书写格式
实例方法引用对象::实例方法
静态方法引用类名::静态方法
特殊方法引用类名::实例方法
构造方法引用类名::new
数组引用数组类型::new

首先:不论使用哪种方法引用【终极省略写法】,必须满足以下条件

        1.方法体中只使用了一个其他的方法。

        2.抽象方法实现的返回值和抽象方法返回值必须一样。【重要

-------------------------------------------------------------------------------------------------------------------------------- 

 实例方法引用:  【对象 :: 实例方法】

静态方法引用:【类名 :: 静态方法】(可以和实例方法引用看作一类)

特殊方法引用: 【类名 :: 实例方法】【比较特殊】 

构造方法引用:【类名::new】

      

数组引用: 【数组类型::new】

小技巧:

        (aaa)-> 方法体(aaa

         如果Lambda表达式中出现前后参数一样,或者都不写。可以留意下是否可改写方法引用!

总结:

        1.方法引用只是在函数式接口在特定情况下满足省略条件,从而书写简单优雅的代码。

        2.方法引用的使用较局限,原因是必须要符合一系列苛刻的条件。且会让代码可读性变差。

        3.使用时比较依靠经验积累,主要使用在文章开头四类基本函数式接口中。

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值