java写方法用来调用_Java从入门到入土(79)lambda表达式和方法引用

lambda表达式是Java8引入的新功能。lambda表达式以字面量的形式把少量代码直接写在程序中,从而让 Java 编程更符合函数式风格(Java 实质上是面向对象语言。不过,引入lambda 表达式后,可以更轻易地编写符合函数式风格的代码)。

lambda 表达式的句法是一个参数列表和方法主体,如下所示(a,b为参数列表,大括号内为方法主体):(a, b) -> { /* 方法主体 */ }

这种句法能通过一种十分紧凑的方式表示简单的方法,而且能很大程度上避免使用匿名类。

既可以使用lambda表达式来代替匿名类的使用。使代码变得更加简洁。

注意,并不是所有的接口都可以使用lambda表达式。只有函数式接口才可以使用lambda。

函数式接口有且只有一个抽象方法。可以使用@FunctionalInterface注解来检测该接口是否为函数式接口。

如下举出lambda使用实例:

一,无参实例:b59c774146bc47328b22916b922f4a73.png

二,有参实例:8c36981a120ce7f2040223dda75cc2cd.png

三,使用方法引用的lambda表达式

方法引用是通过方法的名字来指向一个方法,其在lambda基础上使语言的构造更加简洁。

方法引用使用一对冒号来表示::

Java 中有4种不同方法的引用:

1.静态方法引用:类名::静态方法名

举出如下实例:d05983a9ee3d76d4fa7406cba0d1301b.png

2.特定对象的方法引用:对象::实例方法名

举出如下实例:5e371d9ac55f8a976f38d897f7f067a7.png

3.特定类的任意对象的方法引用:类名::实例方法名

举出如下实例:

f63d2fe23e04d764eb3ad804dda16441.png

这里需要注意的是:

接口方法的参数比引用方法的参数多一个,并且接口方法的第一个参数是调用引用方法的对象。

4.构造器引用:类名::new

举出如下例子:cdfa7740cf79bbd128d969fdfed299bc.png

这里需要注意的是:调用的构造方法要与函数式接口中抽象方法的参数列表保持一致。

最后:

本章仅对java8部分新特性做出简单介绍,仅供参考,详细内容可以参阅java官方api文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值