• java8之Lambda


    Lambda 表达式基础语法:

    java8中引入了一个新的操作符 "->"  (lambda操作符)

    "->"    左侧Lambda表达式参数列表

    "->"    右侧Lambda体,Lambda表达式所需执行的功能

    语法格式一:无参,无返回值

        () -> { }

            Runnable runnable = () -> System.out.println("hello lambda test");
          runnable.run();

    相当于

     Runnable runnable = new Runnable() {
                @Override
                public void run() {
                    System.out.println("hello test");
                }
            };
     runnable.run();
     

    语法格式二: 一参,无返回值  

    (e) -> { }  或  e -> { }     :一参时参数括号可写可不写

    Consumer<String> consumer = s -> System.out.println(s);
    consumer.accept("Hello test");

    语法格式二: 多参,有返回值

    (a,b,...) -> { }     

    :Lambda体中只有一条语句时,{}及 return 可写可不写

    :Lambda参数列表数据类型可以省略不写(写的话要所有参数全写),JVM编译器会根据上下文推断出数据类型

    Comparator<Integer> comparator = (x,y) -> Integer.compare(x,y);
    Comparator<Integer> comparator2 = (x,y) -> {
         System.out.println("比较x,y大小");
         return Integer.compare(x,y);
    };

    Lambda 表达式需要”函数式接口“的支持

    函数式接口:接口中只有一个抽象方法的接口,可以使用注解@FunctionalInterface修饰来检查是否为函数式接口。

  • 相关阅读:
    Create方法失效而没有提示错误信息
    JS弹出窗口控制
    本周活动
    JavaScript的初步了解
    关于PHP接收文件的资料
    mvc模式改进网站结构
    一周动态
    排序
    Java的内存泄漏
    Android笔记
  • 原文地址:https://www.cnblogs.com/mingforyou/p/14725528.html
Copyright © 2020-2023  润新知