jdk8学习笔记

1、Lambda表达式

一、引入操作符

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

      ()-> System.out.println(1);

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

    (x)-> System.out.println(x);

语法格式三:若只有一个参数,小括号可以省略不写

  x->System.out.printlna(x);

语法格式四:多参数,多条语句,有返回值

(x,y)->{
  System.out.println(x);
  return y;
}

语法格式五:只有一条语句,return和大括号都可以省略

 (x,y)->Integer.compare(x,y)

语法格式六:参数类型不用写

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

函数式接口:接口中只有一个抽象方法的接口,称为函数式接口,@FunctionalInterface修饰

2、四大内置函数

  1. Consumer<T>:消费型接口

    void accpet(T t);

     /**
        * Consumer
        */
      @Test
      public void test1(){
          happy(10000.00,m->System.out.println("Consumer接口"+m));
      }

      public void happy(Double money, Consumer<Double> consumer){
          consumer.accept(money);
      }
  2. Supplier<T>:供给型接口

    T get()

  3. Function<T,R>:函数型接口

    R apply(T t);

  4. Predicate:段言行接口

    boolean test(T t);

posted @ 2019-08-20 16:13  风中夜雨  阅读(76)  评论(0)    收藏  举报