lamada表达式

Lambda简介

Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。

JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。

对接口的要求

虽然使用 Lambda 表达式可以对某些接口进行简单的实现,但并不是所有的接口都可以使用 Lambda 表达式来实现。Lambda 规定接口中只能有一个需要被实现的方法

Lambda标准格式

(参数类型 参数名称) ‐> { 代码语句 }

格式说明:

  • 小括号内的语法与传统方法参数列表一致:无参数则留空;多个参数则用逗号分隔。
  • -> 是新引入的语法格式,代表指向动作。
  • 大括号内的语法与传统方法体要求基本一致。

lamda表达式的产生

外部类 —》静态内部类—》局部内部类 ----》匿名内部类—》lamda

import java.util.function.Consumer;

public class Lamada {
//    静态内部类
    static class neilove implements Ilove{

        @Override
        public void love(String name) {
            System.out.println(name);
        }
    }

    public static void main(String[] args) {
        Ilove love = new love();
        love.love("外部类");

        Ilove neilove = new neilove();
        neilove.love("静态内部类");
//        局部内部类
        class jubulove implements Ilove{

            @Override
            public void love(String name) {
                System.out.println(name);
            }
        }
        Ilove jubulove = new neilove();
        jubulove.love("局部内部类");
//匿名内部类
       new Ilove(){
           @Override
           public void love(String name) {
               System.out.println(name);
           }
       }.love("匿名内部类");

//       lamdab表达式
        Ilove loveLamda = (name) -> {
            System.out.println(name);
        };
        loveLamda.love("lamdab表达式");


    }
}
interface Ilove {
    abstract void love(String name);
}
// 外部类
class love implements Ilove{

    @Override
    public void love(String name) {
        System.out.println(name);
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值