java lambda的意义
1.更加紧凑的代码,宜读
2.更好地支持多核处理
3.提高修改方法的能力
函数式接口
通俗的说,函数式接口是只含一个方法的接口。可以用
@FunctionInterface作为注解,当然不注解,当符合一个方法的条件时虚拟机也会自动判断。Java中的lambda无法单独出现,它需要一个函数式接口来盛放,lambda表达式方法体其实就是函数接口的实现。
lambda语法
大致为 (形式参数)-〉(方法体)
参数是函数式接口里面方法的参数;方法体,可以是表达式和代码块,方法体函数式接口里面方法的实现。
下每一个简单例子:
public class TestLambda {
public static void main(String[] args) {
//Runnable是一个函数接口,只包含了有个无参数的,返回void的run方法;
new Thread(() ->System.out.println("it is lambda")).start();
//常规方法
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("内部内实现");
}
}).start();
}
}