Java8中的Lambda表达式
2021-01-07 16:28
标签:语法 是什么 compare out this关键字 指令 runable get lambda表达式 Lambda表达式,也可称为闭包,是java8的新特性,作用是取代大部分内部类,优化java代码结构,让代码变得更加简洁紧凑。 (expression)->expression 或 (expression)->{statements;} 用()->{}代码块替代匿名内部类 例如:用lambda表达式实现Runable接口 代替comparator接口内部类 是不是代码变得清爽了许多 1、this关键字:匿名类的this关键字指向匿名类,而Lambda表达式的关键字指向包围Lambda表达式的类; 2、编译方式:Java编译器将Lambda表达式编译成类的私有方法,使用了java7的invokedynamic字节码指令来动态绑定这个方法; Java8中的Lambda表达式 标签:语法 是什么 compare out this关键字 指令 runable get lambda表达式 原文地址:https://www.cnblogs.com/wulachen/p/12583137.htmlLambda是什么
Lambda的基本语法
Lambda最重要特点
//(param)->expression;
//(param)->statment;
//(param)->{statments};
//类型声明
MathOperation addition = (int a, int b) -> a + b;
//不用类型声明
MathOperation subtraction = (a, b) -> a - b;//java8之前
new Thread(new Runable() {
@Override
public void run() {
System.out.println("hello");
}
}).start();
//java8之后
new Thread( ()->System.out.println("hello") ).start();
//java8之前
Comparator
Lambda表达式和匿名类的对比
最后说一句,Lambda表达式和Java8的新特性Stream()一起使用会更香哦!