Method references 简单来说就是根据方法名字来定位方法。 方法调用运算符使用双冒号 :: 来表示. 它可以在以下方法中使用:
static method
instance method
constructors using new operator(Test::new)
废话不多说,上代码:
import java.util.List;
import java.util.ArrayList;
public class Java8Tester {
public static void main(String args[]){
List names = new ArrayList();
names.add("Mahesh");
names.add("Suresh");
names.add("Ramesh");
names.add("Naresh");
names.add("Kalpesh");
names.forEach(System.out::println);
}
}
这里我们都知道println是System.out的静态方法,我们使用方法引用直接来调用println方法。
下面是类实例方法以及构造方法的调用
//实例方法调用
StringTool stringTool = new StringTool();
Converter str2int=stringTool::convert;
//构造方法调用
PersonFactory<Person> personFactory=Person::new;//jdk会选择合适的构造方法实例化对象
虽然是新特性,但是我觉得这玩意的实用性也并没有特别大么,相比Lambda,stream,date/time 等等可能逊色的很多。
要是你有什么新的用法的话,也可以留言告诉我
网友评论