• JAVA8学习笔记(一)----Lambda表达式


    Lambda表达式是JAVA最重要的新特性,在学习之前有两个概念需要了解

    1. 函数式接口
      java8提供一个新的注解@FunctionalInterface,用于标注函数式接口,此类接口只能包含一个抽象方法。
    2. Lambda表达式
      Lambda表达式由三部分构成:参数列表、箭头、一个表达式或语句块。
      举例:
        Lambda本质上是一个匿名方法
      public int add(int x, int y) {
          return x + y;
      }

            转成Lambda写法

      (int x,int y) -> x+y ;

           类型可以省略,java会根据上下文自动推断出类型  

      (x,y) -> x+y ;

      //或者

      (x,y) –>{return x+y;};

    Lambda表达式和函数式接口的结合

    1. 新建无参数式接口
    2. @FunctionalInterface
      public interface InterfaceWithNoParam {
          void run();
      }
    3. 新建包含属性为函数式接口的类
      public class TestJava8{
          //匿名内部类
          InterfaceWithNoParam param1 = new InterfaceWithNoParam() {
              @Override
              public void run() {
                  System.out.println("通过匿名内部类实现run()");
              }
          };
          //Lambda表达式
                  //空括号表示无参
          InterfaceWithNoParam param = () -> System.out.println("通过Lambda表达式实现run()") ;
      }

    其他形式的函数式接口及实现

    1. 有参无返回值
      InterfaceWithParams params1 = (String s) -> System.out.println("通过" + s + "实现run(String)");
    2. 无参有返回值
      InterfaceUnVoidWithNoParam interfaceUnVoidWithNoParam1 = () -> "Hello Lambda!";
    3. 有参有返回值
      InterfaceUnVoidWithParams interfaceWithParams1 = (Integer integer) -> String.valueOf(integer);
    岁月本长而忙者自促;天地本宽而卑者自隘;风花雪月本闲,而劳忧者自冗;天行健,君子以自强不息;地势坤,君子以厚德载物;宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒.不妄取,不妄予,不妄想,不妄求,与人方便,随遇而安
  • 相关阅读:
    笔试题总结
    ubuntu 14.04 vim install youcompleteme
    c语言位域
    strcmp函数的使用
    Spring多数据源的配置和使用
    根据出生日期计算年龄的sql各种数据库写法
    BZOJ3165 : [Heoi2013]Segment
    BZOJ2725 : [Violet 6]故乡的梦
    BZOJ2851 : 极限满月
    BZOJ2837 : 小强的形状
  • 原文地址:https://www.cnblogs.com/vvning/p/7656038.html
Copyright © 2020-2023  润新知