• java8新特性-lambda(基本语法)


    1.lambda基本语法

    (1)声明部分:就是和lambda表达式绑定的接口类型

    (2)参数部分:包含一对圆括号中,和绑定的接口中的抽象方法中的参数个数和顺序相同

    (3)操作符部分:->

    (4)执行代码块:包含一对大括号中,出现在操作符的右侧

    [接口声明] = (参数) -> {执行代码块}

    例:

    没有参数,没有返回值的lambda表达式绑定的接口

    interface ILambda1 {
    void test();
    }
    //只有一行代码,则可以直接省略花括号
    ILambda1 lambda1 = () -> {
      System.out.println("hello world");
    };
    lambda1.test();    
    

    带参数,没有返回值的lambda表达式

    interface ILambda2 {
      void test(String a, int b);
    }
    
    //或者直接参数对象类型,jvm会自动补全参数类型 ILambda2 lambda2 = (String a, int b) -> {   System.out.println(a + b); }; lambda2.test("你好", 11);

    带参数,带返回值类型的lambda表达式

    interface ILambda3 {
        String test(String k, String v);
    }
    
    ILambda3 iLambda3 = (String k, String v) -> {
        return k + v;
    };
    System.out.println(iLambda3.test("你好", "我的朋友"));

    //或者
    ILambda3 iLambda31 = (k, v) -> k + v;
    System.out.println(iLambda31.test("hell", "world"));

    总结:

    (1) lambda表达式必须和接口进行绑定

    (2) lambda表达式的参数,可以附带0-n个参数,括号中的参数类型可以不用指定,jvm会自动指定

    (3) lambda表达式的返回值,如果代码块只有一行,并且没有大括号,不用写return关键字,单行代码的执行,会自动返回

    如果添加了大括号或者多行代码,一定要添加return关键字返回结果

  • 相关阅读:
    js实现点击隐藏图片
    绝对定位给图片四角加上图片修饰
    雪碧图实现登陆页面
    弹性盒模型
    数组练习--求数组和,平均值,最大值,最小值
    h5与c3权威指南笔记--css3结构性伪类选择器root,not,empty,target
    h5与c3权威指南笔记--css3新属性选择器
    闲聊Java里的随机数
    Python之简单抓取豆瓣读书信息
    中本聪比特币论文
  • 原文地址:https://www.cnblogs.com/freeht/p/13034499.html
Copyright © 2020-2023  润新知