forEach方法参数是一个Consumer对象, JbootModel::save和一个Consumer对象是怎么对应起来的?

forEach方法参数是一个Consumer对象, JbootModel::save和一个Consumer对象是怎么对应起来的?

img

img

1.Consumer是一个只有参数没有返回值的函数式接口(只能有一个抽象方法的接口)。
2.::这种写法叫做方法引用,Java的特性之一,被引用的方法,要和接口中的抽象方法的参数、返回类型一致才能引用,在执行这个代码时,会自动去调用save方法。相当于写了一个匿名的实现类参考你图片里的 v->v.save,
3.有点类似于委托的概念,把一件事交给某个东西去处理