您的位置:首页 > 编程语言 > Java开发

JDK8新特性之Lambda表达式

2017-10-23 15:09 281 查看

定义

  Lambda表达式就是匿名方法;

语法

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


以下是lambda表达式的重要特征:

可选类型声明:不需要声明参数类型,编译器可以统一识别参数值;

可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号;

可选的大括号:如果主体包含了一个语句,就不需要使用大括号;

可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值;

lambda表达式使用场景

场景1:替换广泛使用的内部匿名类

JDK8之前的匿名内部类使用:

Thread t1 = new Thread(new Runnable(){
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
});


替换为lambda表达式:

Thread t1 = new Thread(()->System.out.println(Thread.currentThread().getName()));


场景2:集合类批处理操作

传统常用方式:

for(Object o: list) {
System.out.println(o);
}


使用集合的foreach方法遍历元素,入参是Consumer函数式接口,因此可以使用lambda表达式:

list.forEach(o -> System.out.println(o));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: