四大内置核心函数式接口
java.util.function
Lambda方法引用
只有一个参数时,经常用=> 类名::实例方法名
注意点:
1. 调用的方法的 参数列表、返回值必须与函数式接口中方法的参数列表、返回值相同。
2. 调用的方法名后不用写括号
ArrayList<Object> list = new ArrayList<>();
list.forEach(System.out::println);// public void forEach(Consumer<? super E> action)
Lambda构造器引用
Lambda数组引用
forEach()
- 所有的集合类都可以forEach(Consumer系列)【map是双参的】;
- 所有stream也可以forEach();
- 数组不能forEach(),Arrays.stream(数组)将数组变为stream后就可以forEach()。