jdk1.8的新特性Lambda表达式(1)

1.Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。
2.Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。
3.使用 Lambda 表达式可以使代码变的更加简洁紧凑。
以下是lambda表达式的重要特征:
可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。
lambda的几种形式

下面便是以上引用的方法

例子的方法

以上包含五种形式

// 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)

下面两点是使用lambda表达式注意事项

1.lambda表达式访问局部变量 , 变量的引用可以不用final来修饰 ,但作用与final一样,不能被改变。

final int n=2;
		text<Integer, String> sum=(param) ->
		System.out.println(String.valueOf(param+n));
		sum.context(2);
//		n=3;(不能被改变 ,会发生编译错误)

2.lambda表达式中不允许内参数与外参数命名相同

String first1 = ""; (不能与下面的first同名) 
		Comparator<String> comparator = (first, second) -> 
		Integer.compare(first.length(), second.length());

lambdas 实现 Runnable 接口 下面是使用 lambdas 来实现 Runnable 接口的示例:

实现runnable接口
lambda实现runnable接口

```使用 Lambdas 排序集合 在 Java 中,Comparator 类被用来排序集合。

lambda表达式与比较器接口的排序

下一篇便是jdk1.8的新特性(2)steam流的使用,谢谢观看。
----------笑而不语的猫

猜你喜欢

转载自blog.csdn.net/qq_43224049/article/details/82778045