`
jobar
  • 浏览: 341063 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lambda表达式基础(1)-什么是Lambda表达式

 
阅读更多
什么是lambda表达式
从数学和计算的角度来看,一个lambda表达式就是一个函数:对于部分 或者全部输入值的组合,它会产生出一个特定的输出。在java语言中Lambda表达式引入了函数式编程的思想。按照java传统术语来解释看,Lambda可以被理解为一种有更复杂语法的匿名方法,可以忽略修饰符,返回类型,在某些情况下参数类型同样可以省略。
语法:
Lambda的基本语法类似于:
    (参数) -> 表达式
或者
    (参数) -> { 语句; }
例如
1. (int x, int y) -> x + y                          //输入两数字返回他们的和
2. (x, y) -> x - y                                  //输入两数字返回他们的差
3. () -> 42                                         //无参数返回42
4. (String s) -> System.out.println(s)       //输入字符从将值打印到控制台,什么也不返回
5. x -> 2 * x                                       // 输入一个整数,返回两倍值
6. c -> { int s = c.size(); c.clear(); return s; }  //输入一个集合,返回它的大小并清空。
语法注意事项:
(1)参数类型可能是显式声明的(例1,4)或者隐式推断的(例2,5,6)。在一个Lambda表达式中可以混合使用显式或隐式参数
(2)Lambda的body部分可以是一个代码块(由"("包含起来,例6)或者是一个表达式(例1-5)
(3)如果body是一个表达式,那么可以返回一个值(例1,2,3,5)或者什么也不返回(例4)
(4)如果是单一隐式类型的参数,可以忽略括号(例5,6)
(5)在第六个例子中,Lambda可以作用在集合上。同样的,依赖于它所处的上下文,可以作用在某种类型的一个对象上,这种类型同样有size和clear方法且有适当的参数和返回类型

原文链接:http://www.lambdafaq.org/what-is-a-lambda-expression/
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics