JDK 8 -- Lambda表达式

  1. Lambda表达式的语法####

    (para1, para2...) -> {
          //实现代码块
    }
    

其中:

  • ( )中para1, para2是参数,是Lambda表达式的输入
  • ->称为箭头符号
  • { }中是Lambda表达式的方法体,称为statement
  • 只有一个参数时,( )可去掉
  • 方法体只有一行语句时,{ }可去掉,并省略return ,例如e -> System.out.println(e),称为expression
  1. Lambda表达式可以作为函数式接口的实例###

例子:

  • 先定义函数式接口TestInterface
    @FunctionalInterface
    public Interface TestInterface {
    public abstract void testMethod(String message);
    }

  • 构建TestInterface接口的实例
    public static void main(String[] args) {
    TestInterface testInterface = (e) -> {
    System.out.println(e + " word");//这里是testMethod方法的具体实现体
    };
    testInterface.testMethod("hello");
    }

  • 从上面的代码可以看出,引用testInterface指向了由Lambda表达式所创建的对象。所以,Lambda表达式是对象类型,而不是函数。

  • Lambda表达式中的参数e的类型一定是方法 testMethod(String message)的参数类型String。因为TestInterface是函数式接口,其中必定只有一个抽象方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容