Lambda及其等效方法引用 ::
例子
| Lambda | 等效方法引用 |
|---|---|
| (Apple a)->a.getWeight() | Apple::getWeight |
| ()->Thread.CurrentThread().dumpStack() | Thread.currentThread()::dumpStack |
| (str,i)->str.substring(i) | String:: substring |
| (String s)->System.out.pringln(s) | System.out::println |
方法引用主要有三类
1. 指向静态方法的引用
eg: Integer的parseInt方法,写作Integer::parseInt
2. 指向任意类型实例方法的方法引用
eg: String的length方法,写作String::length
3. 指向现有对象的实例方法的引用
eg: 假设你有一个局部变量aStudent用于存放Student类型的对象,它支持实例方法getAge,那么你就可以写成aStudent::getAge
ps: 第3条表示不是很懂
还有构造方法的引用 ClassName::new
356

被折叠的 条评论
为什么被折叠?



