简单使用Lambda表达式

举报
小小张自由--张有博 发表于 2021/11/30 23:57:34 2021/11/30
【摘要】 Lambda标准格式 Lambda省去面向对象的条条框框,格式由3个部分组成: 一些参数 一个箭头 一段代码 Lambda表达式的标准格式为:(参数类型 参数名称)->{代码语句} 自我理解:Lambda表达式就是简化了当个方法的实现过程,不必要为了用一个方法而去创造一个类。比内部类还要简单 ...

Lambda标准格式

Lambda省去面向对象的条条框框,格式由3个部分组成:

一些参数

一个箭头

一段代码

Lambda表达式的标准格式为:(参数类型 参数名称)->{代码语句}

自我理解Lambda表达式就是简化了当个方法的实现过程,不必要为了用一个方法而去创造一个类。比内部类还要简单

 

 

Lambda的语法非常简洁,完全没有面向对象复杂的束缚。

但是使用时有几个问题需要特别注意:

   1. 使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法

无论是JDK内置的 Runnable Comparator 接口还是自定义的接口,只有当接口中的抽象方法存在且唯一

时,才可以使用Lambda

    2. 使用Lambda必须具有上下文推断

也就是方法的参数或局部变量类型必须为Lambda对应的接口类型,才能使用Lambda作为该接口的实例。

备注:有且仅有一个抽象方法的接口,称为“函数式接口”。

 

 

publicstaticvoidmain(String[]args){

//匿名内部类写法

newThread(){

@Override

publicvoidrun(){

System.out.println(Thread.currentThread().getName()+"新鲜称创建了");

}

}.start();

//使用Lambda表达式

newThread(()->{

System.out.println(Thread.currentThread().getName()+"新鲜称创建了");

}).start();

}

省略规则

Lambda标准格式的基础上,使用省略写法的规则为:

1. 小括号内参数的类型可以省略;

2. 如果小括号内有且仅有一个参,则小括号可以省略;

3. 如果大括号内有且仅有一个语句,则无论是否有返回值,都可以省略大括号、return关键字及语句分号。 


 

文章来源: blog.csdn.net,作者:小小张自由—>张有博,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/promsing/article/details/121633187

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。