如果不了解lambda表达式,请前往Java lambda表达式
概念
方法引用是用来直接访问类或者实例的已经存在的方法或者构造方法。
用法
单是看概念,很难看懂,还是直接看用法更好理解。
我们通常使用lambda表达式来创建匿名方法。然而,有时候我们仅仅是调用了一个已存在的方法。方法引用的操作符是双冒号"::",下面是常见的方法引用的类型。
Integer::parseInt //静态方法引用
System.out::print //实例方法引用
Person::new //构造器引用
下面是一组例子
//c1 与 c2 是一样的(静态方法引用)
Comparator<Integer> c2 = (x, y) -> Integer.compare(x, y);
Comparator<Integer> c1 = Integer::compare;
//下面两句是一样的(实例方法引用1)
persons.forEach(e -> System.out.println(e));
persons.forEach(System.out::println);
//下面两句是一样的(实例方法引用2)
persons.forEach(person -> person.eat());
persons.forEach(Person::eat);
//下面两句是一样的(构造器引用)
strList.stream().map(s -> new Integer(s));
strList.stream().map(Integer::new);
致谢
感谢你的阅读,欢迎点赞和评论。