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

    Lamda表达式

    • λ希腊字母表中排序第十一位的字母,英文名称为Lambda
    • 避免匿名内部类定义过多
    • 其实质属于函数式编程的概念

    new Thread (()->System.out.println("多线程学习。。。")).start();

    • 为什么要使用lambda表达式

      • 避免匿名内部类定义过多
      • 可以让你的代码看起来很简洁
      • 去掉了一堆没有意义的代码,只留下核心的逻辑
    • 也许你会说,我看了Lambda表达式,不但不觉得简洁,反而觉得更乱,看不懂了。那是因为我们还没有习惯,用的多了,看习惯了,就好了。


    • 理解Functional Interface(函数式接口)是学习Java8 lambda表达式的关键所在。

    • 函数式接口的定义:

      • 任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。
      public interface Runnable{
          public abstract void run();
      }
      
      • 对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。
    public class TestLambda2 {
    
    
        public static void main(String[] args) {
            ILove love = null;
    
    //        //1.lambda表达式简化
    //        ILove love = (int a)-> {
    //                System.out.println("I love you-->"+a);
    //        };
    //
    //        //简化1.参数类型
    //        love = (a)-> {
    //            System.out.println("I love you-->"+a);
    //        };
    
            //简化2.简化括号
    //        love = a -> {
    //            System.out.println("I love you-->"+a);
    //        };
    //
    //        love.love(521);
    
            //简化3.去掉花括号
            love = a ->  System.out.println("I love you-->"+a);
    
            //总结:
                //lambda表达式只能有一行代码的情况下才能简化成为一行,如果有多行,那么就用代码块包裹
                //前提是接口为函数式接口(只有一个方法)
                //多个参数也可以去掉参数类型,要去掉都去掉,必须加括号
    
            love.love(521);
        }
    }
    
    interface ILove{
        void love(int a);
    }
    

    来源:https://www.bilibili.com/video/BV1V4411p7EF?p=10

  • 相关阅读:
    物料清单概述
    java开发webservice的1种方式
    java web service简单示例
    IOS证书过期
    Windows 2012 R2 安装net4.6.1
    sqlserver 性能调优脚本
    solidty--owner.sol
    ERC20-USDT
    EOS 公开节点及自有节点部署
    微信第三方平台授权流程
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13306935.html
Copyright © 2011-2022 走看看