码迷,mamicode.com
首页 > 其他好文 > 详细

002 lambda表达式

时间:2018-08-05 00:45:39      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:alt   inf   使用   ace   oid   inner   入参   很多   接口   

一 .概述

  在前面我们提出了lambda的本质,但是还有另外一个问题需要解释,就是lambda表达式的类型.


 二 .lambda表达式的类型

  首先我们看一下下面的例子:

static interface Inner{
        void test();
    }
    
    @Test
    public void test4() {
        Runnable run = () -> {} ;
        Inner inner = () ->{};
    }

看到上面的代码,我们发现了一个问题,相同的lambda表达式却可以成为不同的类型,这很不可思议.

lambda表达式的类型匹配任何一个入参和出参相同的类型.

也就是说,在函数式编程之中,我们关系的仅仅只是入参和出参的不同.


 三 .lambda表达式的语法

  () -> {}

上面就是lambda表达式的语法,在很多情况下我们可以省略一部分,但是在这里我们不去说这个.

上面的表达式很明确,就是一个入参和出参的描述,这很符合我们对函数式编程的理解.


 四 .内置的函数式接口

  我们发现我们使用lambda表达式的时候,仅仅关心入参和出参,如果一致,我们都会认为是一种事物.

因此,jdk为了方便我们的使用,编写了一些我们常用的函数式接口:

  技术分享图片

 

002 lambda表达式

标签:alt   inf   使用   ace   oid   inner   入参   很多   接口   

原文地址:https://www.cnblogs.com/trekxu/p/9420587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!