• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
正在努力成为一个优秀的废物
博客园    首页    新随笔    联系   管理    订阅  订阅
java8 lambda表达式

 lambda表达式有什么用?

lambda表达式主要用于函数式编程,简化java开发,由java 8引入

lamdba是什么?

Lambda表达式的语法形式如下:

parameter -> expression body

主要组成:参数列表 + 箭头 + 表达式体,如 (int x, int y) -> x + y

其中,表达式体可以是一条表达式,也可以是一个语句块(多条代码语句);

Lambda表达式具有如下特征:

  • 【可选】类型声明:参数的类型不需要声明,编译器可以根据参数值推断出其类型;
  • 【可选】括号:单个参数的话,不需要用圆括号包围参数,当然,对于多个参数或无参数的话,括号是需要的;
  • 【可选】花括号:如果表达式主体只有一条语句的话,不需要用花括号包围,当然,对于多条语句,花括号是需要的;
  • 【可选】return关键字:如果表达式主体是单一表达式,return关键字可以不写,编译器可以自动返回该值,当然,如果写了return,则需要加上花括号;

什么是函数式接口?

函数式接口就是只包含单一的自定义抽象函数的接口。也就是说函数式接口可以包含静态方法、默认方法以及Object的public方法(java interface 继承 Object)

例如:

public interface MathOperation {
    int operation(int a, int b);
}

@FunctionalInterface 注解是java 8引入的,用来做函数式接口的编译检查,如果被注解的接口不符合函数式接口的定义,编译会报错。

 

参考博客:

https://www.cnblogs.com/chenpi/p/5885062.html

https://www.cnblogs.com/chenpi/p/5890144.html

http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features/

posted on 2020-04-16 14:27  你算哪根小毛线  阅读(80)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3