Java中的匿名函数格式_「创作开运礼」Java之Lambda表达式的省略格式

各位小伙伴们大家好,在之前的文章中小编介绍了使用Lambda表达式来省略匿名内部类当中,一些不必要的代码,这次小编要介绍的是Lambda表达式的省略格式,这种格式下代码更加简单,具体如下:

Lambda表达式是可推导,可省略的,凡是可以根据上下文推导出来的内容都可以省略不写。

对于Lambda表达式,可省略的内容包括以下部分:

1.(参数列表):括号中参数列表的数据类型,可以省略不写

2.(参数略表):括号中的参数如果只有一个,那么类型和()都可以省略

3.{一些代码}:如果{}中的代码只有一行,无论是否有返回值,都可以省略({},return,分号)

注意:要省略{},return,分号必须一起省略

b5d7562f760dd5c0c6e1b4cfd034ae78.png

代码如下:

/*给定一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相乘得到值*/

public interface Calculator {

//定义一个计算两个int整数和的方法并返回结果

public abstract int calc(int a,int b);

}

8d3e1c94861bf2263ff93bb9bd79ca7f.png

main方法

public class Demo01Calculator {

public static void main(String[] args) {

//使用Lambda省略格式

invokeCalc(110,20,( a, b)->

a*b

);

//使用Lambda表达式简化匿名内部类的书写(未使用省略格式)

// invokeCalc(110,20,(int a,int b)->{

// return a+b;

// });

// }

/*定义一个方法:

参数传递两个int类型的整数

参数传递Calculator接口

方法内部调用Calculator中的方法calc计算两个整数的和*/

public static void invokeCalc(int a,int b,Calculator c) {

int sum=c.calc(a,b);

System.out.println(sum);

}}

07f60dba0dc176c1ad54fe9c53b05d08.png

接下来小编要简单提一下Lambda表达式的使用前提。

使用Lambda表达式必须具有接口,且要求接口中有且只有一个抽象方法,无论是JDK内置的Runnable、Comparator接口还是自定义的接口,只有接口中的抽象方法存在且唯一时,才可以使用Lambda。使用Lambda必须要有上下文推断,也就是方法的参数或局部变量类型必须为Lambda对应的接口类型,才可以使用Lambda作为该接口的实列。有且只有一个抽象方法的接口,被称为“函数式接口”。关于Lambda表达式的省略格式,其实根据上文可以推导出来的一些简单的逻辑关系,就可以在Lambda表达式中省略,还有{}里面的一些代码、分号等。小编就先说到这里,希望这篇文章可以帮到大家,也欢迎各位小伙伴补充和纠错。

图片来自网络,如有侵权,请联系作者删除

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值