Java8新特性之lambda表达式()

  本篇文章为你整理了Java8新特性之lambda表达式()的详细内容,包含有 Java8新特性之lambda表达式,希望能帮助你了解 Java8新特性之lambda表达式。

   本文主要介绍了Java中的lambda表达式的原理和应用,并通过通俗易懂的代码完成lambda表达式的使用。

  
Java8于2014年3月发布,该版本是 Java 语言的一个重要版本,自Java5以来最具革命性的版本,该版本包含语言、编译器、库、工具和JVM等方面的多个新特性。

  1.2 函数式接口

  函数式接口主要指只包含一个抽象方法的接口,如:java.lang.Runnable等。

  

@FunctionalInterface

 

  public interface Runnable {

   * When an object implementing interface {@code Runnable} is used

   * to create a thread, starting the thread causes the objects

   * {@code run} method to be called in that separately executing

   * thread.

   * p

   * The general contract of the method {@code run} is that it may

   * take any action whatsoever.

   * @see java.lang.Thread#run()

   public abstract void run();

  

 

  Java8中提供@FunctionalInterface注解来定义函数式接口,若定义的接口不符合函数式的规范便会报错。

  

/**

 

   * 自定义函数式接口

  @FunctionalInterface

  public interface MyFunctionInterface {

   * 自定义有且只有一个的抽象方法

   void show();

  

 

  Java8中增加了java.util.function包,该包包含了常用的函数式接口,具体如下:

  
MyFunctionInterface myFunctionInterface = new MyFunctionInterfaceImpl();

  myFunctionInterface.show();

  

 

 

  1.3.2 使用匿名内部类的方式得到接口类型的引用

  

MyFunctionInterface myFunctionInterface = new MyFunctionInterface() {

 

   @Override

   public void show() {

   System.out.println("匿名内部类的方式");

  myFunctionInterface.show();

  

 

  1.3.3 使用Lambda表达式得到接口类型的引用

  Lambda 表达式是实例化函数式接口的新方式,允许将函数当做参数进行传递,从而使代码变的更加简洁和紧凑。

  语法格式:(参数列表) -

  其中()、参数类型、{} 以及return关键字 可以省略。

  

MyFunctionInterface myFunctionInterface = () - {

 

   System.out.println("lambda表达式的方式");

  myFunctionInterface.show();

  // 省略{}后的写法

  MyFunctionInterface myFunctionInterface = () - System.out.println("lambda表达式的方式");

  myFunctionInterface.show();

  

 

  更多精彩欢迎关注微信公众号《格子衫007》!
 

  以上就是Java8新特性之lambda表达式()的详细内容,想要了解更多 Java8新特性之lambda表达式的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: