# 方法引用
::
:引用运算符
用于简写 Lambda 表达式
public interface Test { | |
void domian(String s); | |
} |
public class Demo { | |
public static void main(String[] args){ | |
doDoMain((String s) -> { | |
System.out.println(s); | |
}); | |
doDoMain((s) -> System.out.println(s)); | |
doDoMain(s -> System.out.println(s)); | |
doDoMain(System.out::println); | |
} | |
public static void doDoMain(Test t) { | |
t.domain("domain"); | |
} | |
} |
# Lambda 支持的方法引用
# 引用类方法
- 格式:类名::方法名(静态方法)
- lambda 表达式被类方法替代时,形参全部传递给静态方法
# 引用对象的实例方法
- 格式:对象::成员方法
- lambda 表达式被实例化方法替代,形参全部传递给静态方法
# 引用类的实例方法
- 格式:类名::成员方法
- lambda 表达式被实例方法替代时:第一个参数作为调用者,后面的形参传递给方法
# 引用构造器
- 格式:类名::new
- lambda 表达式被构造器替代时,形参全部传递给构造器