【原创】Lambda表达式的返回类型和运用时的注意事项

本文介绍了Java8中的Lambda表达式,包括其作为闭包的概念,详细解析了Lambda的表达式格式,并通过实例展示了不同类型的Lambda表达式。同时,文中强调了Lambda表达式的返回类型是接口中方法的返回类型,并提醒读者注意接口必须是函数式接口。此外,还提到了一些使用Lambda的注意事项,如参数括号的可选性及其对可读性的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Lambda是什么?

Lambda是Java8的新特性,Lambda表达式也可以称为闭包,Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

2.Lambda的返回类型及注意事项

2.1表达式格式:

(parameters) -> expression(parameters) ->{ statements; }

例:

  1. 不需要参数,返回值为 5
    () -> 5

  2. 接收一个参数(数字类型),返回其2倍的值
    x -> 2 * x

  3. 接受2个参数(数字),并返回他们的差值
    (x, y) -> x – y

  4. 接收2个int型整数,返回他们的和
    (int x, int y) -> x + y

  5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)
    (String s) -> System.out.print(s)

2.1以最简单的 ()->5;为例:

(此讲解需要有一定的Java开发基础)

//函数式接口
interface CoutIntf(){
	int count();
}

运用:

//调用及返回:
CoutIntf b = () -> 15;

讲解:

//Lambda表达式的发展过程:(实现模式就是匿名内部类)
//1.使用匿名对象来赋值(相当于实现了CoutIntf接口)
CoutIntf b = new CoutIntf () {
								 public int count(a){
									 return 15;
								 }
							 };
//2.匿名对象类型省略
CoutIntf b = () -> {return 15;}
//3.返回表达式去括号
CoutIntf b = () -> return 15;
//4.去return
CoutIntf b = () -> 15;	
2.2注意事项:

1.由于Lambda表达式的定义要求,接口里面的方法有且只能有一个,即,接口之恶能为函数式接口
2.Lambda表达式的返回类型不是接口中方法的返回类型,而是接口类型
3.若int count();改为int count(a);,那么调用可以写为CoutIntf b = (a) -> 15也可写为CoutIntf b = a -> 15,当函数只有一个入参时,可以省略括号不写。但从格式统一来说,建议还是加上括号
4.虽然Lambda表达式非常强大,但对于新手非常不友好,因为从Lambda表达式的调用来看只能知道函数的入参、返回值和返回类型,比较难看懂表达式的运用。

本文章为原创文章,转载需指明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值