首页 > 代码库 > java 8 方法引用(method references)
java 8 方法引用(method references)
1 什么是方法引用(method references)
java 8 添加了一个很熟悉但是又很陌生的符号::。 你也许会看到这样的代码
System.out::println
其实就是方法引用(method references)。由于java 8 把方法/函数也作为第一输入参数。所以你会看到inventory.comparing(Apple::getWeight);这样“奇怪”的代码.
2 如何使用方法引用(method references)
其实方法引用是lambda 表达式的一个语法糖。 当lambda只引用一个方法的时候可以通过方法引用(method references)来简化代码。
(Apple a) -> a.getWeight() === Apple::getWeight () -> Thread.currentThread().dumpStack() === Thread.currentThread()::dumpStack (str, i) -> str.substring(i) === String::substring (String s) -> System.out.println(s) === System.out::println
3 方法引用的种类
3.1
static method 静态方法引用
例子 :Integer::parseInt (parsetInt 是一个静态方法)
3.2
instance method
例子 : String::length(length() 是一个实例方法)
3.3
实例对象方法引用
例子 :
Person p = new Person
p::getName (p 是一个实例对象)
本文出自 “Development” 博客,请务必保留此出处http://jamesdev.blog.51cto.com/2066624/1858767
java 8 方法引用(method references)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。