Lambda表达式:
可以把函数作为一个方法的参数
例如:new Thread(()-> System.out.println(“abc”)).start();
方法引用
允许直接引用已有java 类或对象 的 方法或构造
例如:list.forEach(System.out::println);
函数式接口
有且仅有一个抽象方法的接口,可被 隐式转化 为Lambda表达式.@FunctionalInterface
例如:@FunctionalInterface
interface GreetingService
{
void sayMessage(String message);
}
接口可以定义默认方法和静态方法
stream API
通过获取流来进行过滤 筛选 去重等操作
例如:list.stream().filter(string -> !string.isEmpty()).distinct().forEach(a -> System.out.println(a));