多平台统一管理软件接口,如何实现多平台统一管理软件接口
243
2022-11-29
详解Java8中的Lambda表达式
Lambda是什么
Lambda表达式,也可称为闭包,是java8的新特性,作用是取代大部分内部类,优化java代码结构,让代码变得更加简洁紧凑。
Lambda的基本语法
(expression)->expression 或 (expression)->{statements;}
Lambda最重要特点
用()->{}代码块替代匿名内部类
//(param)->expression;//(param)->statment;//(param)->{statments};//类型声明
MathOperation addition = (int a, int b) -> a + b;
//不用类型声明
MathOperation subtraction = (a, b) -> a - b;
例如:用lambda表达式实现Runable接口
//java8之前
new Thread(new Runable() {
@Override
public void run() {
System.out.println("hello");
}
}).start();
bqvRXyKqCd
//java8之后
new Thread( ()->System.out.println("hello") ).start();
代替comparator接口内部类
//java8之前
Comparator
public int compare(Person p1, Person p2) {
if (p1.getAge() > p2.getAge())
return -1;
.....
}
}
//java8之后
Comparator
if (p1.getAge() > p2.getAge())
return -1;
.....
}
是不是代码变得清爽了许多
Lambda表达式和匿名类的对比
1、this关键字:匿名类的this关键字指向匿名类,而Lambda表达式的关键字指向包围Lambda表达式的类;
2、编译方式:Java编译器将Lambda表达式编译成类的私有方法,使用了java7的invokedynamic字节码指令来动态绑定这个方法;
最后说一句,Lambda表达式和Java8的新特性Stream()一起使用会更香哦!
以上就是详解Java8中的Lambda表达式的详细内容,更多关于Java8中的Lambda表达式的资料请关注我们其它相关文章!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~