为什么要学习java8新特性

    Lambda表达式和Stream API,将函数式编程引入java,作用:
    1.代码简洁,函数式编程写出的代码简洁且意图明确,比如使用stream接口取代for循环

    2.多核友好,java函数式编程使得编写的并行程序变得简单,只需调用parallel()方法即可

    什么是Lambda表达式

    1. ()->System.out.println("使用Lambda表达式开启线程");

    改造成Lambda表达式需要满足什么条件

    1. 1.可选类型声明:不需要声明参数类型,编译器可以统一识别参数值
    2. 2.可选参数圆括号():一个参数无需定义的圆括号,但多个参数需要定义圆括号()
    3. 3.可选的大括号{}:如果主题包含了一个语句,就不需要使用{}
    4. 4.可选的返回值关键字return:如果主体只有一个表达式返回值则可以省略return和{}

    什么是函数式接口

    1. 定义:只要确保接口中有且仅有一个抽象方法即可
    2. 格式:修饰符 interface 接口名称 {
    3. [public abstract] 返回值类型 方法名称(可选参数信息);
    4. // ٌ其他
    5. }

    常见的函数式接口有哪些,分别有哪些作用

    函数式接口 参数类型 返回值类型 说明
    Consumer 消费型接口 T void 对类型为T的对象操作,方法: void accept
    Supplier 供给型接口 T 返回值类型为T的对象,方法:T get():可用作工厂
    Function函数型接口 t R 对类型为T的对象操作,并返回结果是R类型的对象,方法:R apply(T t);
    Predicate 断言型接口 T boolean 判断类型是T的对象是否满足条件,并返回boolean值,方法boolean test(T t);