概念
双冒号 :: 为引用运算符,而它所在的表达式被称为方法引用。如果Lambda要表达的函数方案已经存在于某个方法的实现中,那么则可以通过双冒号来引用该方法作为Lambda的替代者。
方法引用的方式
通过对象名引用成员方法
前提:1、对象名已经存在
2、成员方法也已经存在
使用:将Lambda表达式调整为:对象名::成员方法
通过类名引用静态成员方法
前提:1、类已经存在
2、静态成员方法也已经存在
使用:将Lambda表达式调整为:类名::静态成员方法名
通过super引用父类的成员方法
前提:1、super是已经存在的
2、父类的成员方法也是已经存在的
使用:将Lambda表达式调整为:super::成员方法名
通过this引用本类的成员方法
前提:1、this是已经存在的
2、本类的成员方法也是已经存在的
使用:将Lambda表达式调整为:this::成员方法名
类的构造器引用
前提:1、构造方法已知
2、创建对象已知(new)
使用:将Lambda表达式调整为:对象名(构造方法)::new(使用类的构造方法,通过传递的参数创建对象)
数组的构造器引用
前提:1、创建的数组类型已知
2、数组的长度已知
使用:将Lambda表达式调整为:数组类型[]::new