栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

lambda表达式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

lambda表达式

Lambda是一个匿名函数,我们可以把Lambda表达式理解为一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表单能力得到了提升。

lambda表达式的本质:作为函数式接口的实例

    没有参数,没有返回值

    @Test
    public void test1() {
      Runnable runnable = () -> System.out.println("hello lambda");
      runnable.run();
    }
    

    需要一个参数,没有返回值

    @Test
    public void test2() {
        Consumer consumer = (String param) -> System.out.println("param = " + param);
        consumer.accept("lambda");
    }
    

    省略数据类型,由编译器推断数据类型

    @Test
    public void test3() {
        Consumer consumer = (param) -> System.out.println("param = " + param);
        consumer.accept("类型推断");
    }
    

    如果只需要一个参数,则参数两边的小括号可以省略

    @Test
    public void test4() {
        Consumer consumer = param -> System.out.println("param = " + param);
        consumer.accept("省略括号");
    }
    

    lambda需要两个或多个参数,有多条执行语句,并且可以有返回值

    @Test
    public void test5() {
        // 括号类的参数没有写类型,使用了类型推断
        Comparator comparator = (o1, o2) -> {
            System.out.println("o1 = " + o1);
            System.out.println("o2 = " + o2);
            return Integer.compare(o1, o2);
        };
        System.out.println(comparator.compare(1, 2));
    }
    

    如果lambda只有一行执行语句,则大括号可以省略

    @Test
    public void test2() {
        Consumer consumer = (String param) -> System.out.println("param = " + param);
        consumer.accept("lambda");
    } 
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756515.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号