Java中Lambda表达式

Lambda表达式基本上表示功能接口的实例(具有单个抽象方法的接口称为功能接口。例如java.lang.Runnable)。lambda表达式实现唯一的抽象函数,因此实现了功能接口

lambda表达式在Java 8中添加,并提供以下功能。

允许将功能视为方法参数,或将代码视为数据。
可以在不属于任何类的情况下创建的函数。
lambda表达式可以像传递对象一样传递,并按需执行。

// Java program to demonstrate lambda expressions 
// to implement a user defined functional interface. 

// A sample functional interface (An interface with 
// single abstract method 
interface FuncInterface 
{ 
	// An abstract function 
	void abstractFun(int x); 

	// A non-abstract (or default) function 
	default void normalFun() 
	{ 
	System.out.println("Hello"); 
	} 
} 

class Test 
{ 
	public static void main(String args[]) 
	{ 
		// lambda expression to implement above 
		// functional interface. This interface 
		// by default implements abstractFun() 
		FuncInterface fobj = (int x)->System.out.println(2*x); 

		// This calls above lambda expression and prints 10. 
		fobj.abstractFun(5); 
	} 
} 

输出:

10

句法:

 lambda运算符 - >正文

lambda运算符可以是:

  1. 零参数:

() - > System.out.println(“零参数lambda”);

  1. 一个参数: -

(p) - > System.out.println(“一个参数:”+ p);

如果可以从上下文推断出该变量的类型,则不必使用括号

  1. 多个参数:

(p1,p2) - > System.out.println(“多个参数:”+ p1 +“,”+ p2);

重点:

lambda表达式的主体可以包含零个,一个或多个语句。

当存在单个语句时,大括号不是必需的,并且匿名函数的返回类型与正文表达式的返回类型相同。

如果有多个语句,则必须用大括号(代码块)括起来,并且匿名函数的返回类型与代码块中返回的值的类型相同,如果没有返回任何内容,则返回void 。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值