zoukankan      html  css  js  c++  java
  • Lambda表达式

    概述

    Lambda 表达式(lambda expression)

    是一个匿名函数,它是matlab中定义的一种函数形式,他的生成方式最简捷。

    lambda 抽象(lambda abstraction)

    是一个匿名函数,即没有函数名的函数。

    使用方法

    条件:接口中只有一个方法

    like = ()-> System.out.println("I like lambda5");

    实例

    实现类到lambda的顺序

    /**
     * lambda 表达式
     */
    public class Lambda01 {
        //3.静态内部类
        static class Like2 implements ILike{
            @Override
            public void lambda() {
                System.out.println("I like lambda2");
            }
        }
    
        public static void main(String[] args) {
            ILike like = new Like();
            like.lambda();
    
            like = new Like2();
            like.lambda();
            //4.局部内部类
            class Like3 implements ILike{
                @Override
                public void lambda() {
                    System.out.println("I like lambda3");
                }
            }
            like = new Like3();
            like.lambda();
            //5.匿名局部内部类
            like = new ILike() {
                @Override
                public void lambda() {
                    System.out.println("I like lambda4");
                }
            };
            like.lambda();
            //6.lambda表达式
            like = ()-> System.out.println("I like lambda5");
            like.lambda();
        }
    }
    //1.接口
    interface ILike{
        void lambda();
    }
    //2.实现类
    class Like implements ILike{
        @Override
        public void lambda() {
            System.out.println("I like lambda");
        }
    }
    

    三种写法

    public class Lambda02 {
        public static void main(String[] args) {
            ILove l= null;
            l = (int a)-> { System.out.println("i love is "+a); };
            l.sayLove(1);
            l = (a)-> { System.out.println("i love is "+a); };
            l.sayLove(2);
            l = a -> { System.out.println("i love is "+a); };
            l.sayLove(3);
        }
    }
    interface ILove{ void sayLove(int a);}
    

    一句话

    简化只有一个方法的接口的创建方式

  • 相关阅读:
    HTTPS
    数字签名与数字证书
    oracle 10g 数据库与客户端冲突导致实例创建无监听问题
    javascript正则表达式提取子匹配项
    设计模式的分类
    【2020第一篇】环境问题基础知识
    【致 2020】2020
    【python】写demo 的时候,pycharm 编辑器总是提示"method XX may be static"
    sql 练习题 (二)
    【python项目】json 和dict 的区别
  • 原文地址:https://www.cnblogs.com/gbhh/p/13768076.html
Copyright © 2011-2022 走看看