Java 8新特性之Lambda 表达式

Lambada表达式简介

Lambada表达式可以说是推动Java 8发布最重要的新特性。
Lambada允许吧函数作为一个参数传递进方法中,使用Lambada表达式可以使我们的代码更加简洁优雅。

Lambada表达式语法规则

  • 可选的参数: 一个 Lambda 表达式可以有零个或多个参数
  • 可选类型声明: 参数的类型既可以明确声明,也可以根据上下文来推断。例如:(int t)与(t)效果相同
  • 参数在圆括号内: 所有参数需包含在圆括号内,参数之间用逗号相隔。例如:(x, y) 或 (int a, String b)
  • 空圆括号代表无参数: 空圆括号代表参数集为空。例如:() -> 521
  • 可选的参数圆括号: 当只有一个参数,且其类型可推导时,圆括号()可省略。例如:s -> return s+1 。但多个参数需要定义圆括号。
  • 可选的语句: Lambda 表达式的主体可包含零条或多条语句。
  • 可选的大括号: 如果主体只包含了一条语句,花括号{}可省略。
  • 可选的返回关键字: 如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指明表达式返回了一个数值。
  • lambda 表达式只能引用标记了 final 的外层局部变量
  • lambda 表达式的局部变量不可被后面的代码修改

基本用法举例

		//无参数,返回值为2
		() -> 2
		//接收1个参数
		s -> 3 * s
		//接收2个参数
		(s,t) -> s*t
		// 接收2个 string 对象,并在控制台打印,不返回任何值 
		(String s,String t) -> {	System.out.print(s+t);	}

猜你喜欢

转载自blog.csdn.net/xfx_1994/article/details/104971776