Lambda表达式的基本语法

一:简介

        在java8中引入了一个新的操作符,“->”,这个操作符箭头操作符或者Lambda操作符,并且箭头操作符
        将Lambda表达式拆分为两部分。
        a:箭头左侧为Lambda表达式的参数列表
        b:箭头右侧为Lambda表达式的Lambda体,就是表达式中所需要执行的功能

二:语法对应简单例子实现

        1:无参数,无返回值的例子对比:一个是java8以前的写法,一个是java8的写法
               Lambda表达式的基本语法_第1张图片
               效果:
                  Lambda表达式的基本语法_第2张图片
         2:使用Consumer演示,有一个参数,无返回值的例子
              Lambda表达式的基本语法_第3张图片
              Lambda表达式的基本语法_第4张图片
             效果:
                 Lambda表达式的基本语法_第5张图片
             如果只有一个参数,小括号可以不写
             Lambda表达式的基本语法_第6张图片
     3:有多个参数,有返回值,并且Lambda体中存在多条语句
           Lambda表达式的基本语法_第7张图片
          效果:
            Lambda表达式的基本语法_第8张图片
          如果Lambda体中,只有一条语句,return和大括号都可以不写
            Lambda表达式的基本语法_第9张图片
    4:Lambda表达式的参数列表的数据类型可以省略不写,因为JVM编译器可以通过上下文推断出
         数据类型。
         Lambda表达式的基本语法_第10张图片
  5:什么叫做函数式接口?
        接口中只有一个抽象方法的接口,叫做函数式接口。
        可以使用@FunctionalInterface注解检查是否是函数式接口。
        Lambda表达式的基本语法_第11张图片 
       ⑴下面我们创建一个函数式接口的例子
          Lambda表达式的基本语法_第12张图片
          Lambda表达式的基本语法_第13张图片
         效果:
            Lambda表达式的基本语法_第14张图片
            Lambda表达式的基本语法_第15张图片

6:练习

        :⑴:通过Collections.sort()方法,通过定制排序比较两个Employee(先按年龄比,年龄相同按姓名比),
             使用Lambda作为参数传递。
             Lambda表达式的基本语法_第16张图片
             效果:
               Lambda表达式的基本语法_第17张图片
        ⑵:要求如下
              a:申明函数式接口,接口中申明抽象方法:public String getValue(String str);
              b:申明类TestLambda,类中编写方法使用接口作为参数,将一个字符串转换为大写,
                    并且作为方法的返回值
              c:再将一个字符串的第二个和第四个的索引位置进行截取子串
              ①接口
                   Lambda表达式的基本语法_第18张图片
               ②方法以及测试类
                   Lambda表达式的基本语法_第19张图片
                   效果:
                    
        ⑶:要求如下
               a:申明一个带两个泛型的函数式接口,泛型类型为,T为参数,R为返回值
               b:接口中申明对应抽象方法
               c:在TestLambda类中申明方法,使用接口作为参数,计算两个Long型参数的和
               d:再计算两个Long型参数的乘积
               Lambda表达式的基本语法_第20张图片
               Lambda表达式的基本语法_第21张图片
              效果:
                 Lambda表达式的基本语法_第22张图片Lambda表达式的基本语法_第23张图片

上一篇:JAVA8新特性之入门简介

下一篇:JAVA8新特性之四大内置核心函数式接口

文章目录

             
              
              
             

 
             

 

 

 

 

 

 


             

 

你可能感兴趣的:(java8)