作者JustinHere (良葛格)
看板java
标题Re: [问题] Lambda Functional参数问题
时间Wed Dec 13 10:55:54 2017
※ 引述《kyleJ (K)》之铭言:
: 这看起来像是使用反射呼叫 User.class.getMethod("getName")
: 然後再呼叫 method.invoke(user)
: 这样就能跟 Functional 的 U apply(User user) 一样参数与回传值了
方法参考(Method Reference),这是编译器语法蜜糖。
: 想请问
: getName是non-static的method,为什麽可以写成User::getName?
: User::getName 为何可以指定给 Functional<User, String> func?
: 是不是在这种情况下会自动变成Method的反射?
: 我在Lambda的教学中没看到这种情况,有什麽文章或关键字可以查询吗?
: 感谢各位
不是反射,是有对照规则的语法蜜糖,而static 方法参考只是其中一种,
还有实例方法参考、建构式参考等…
https://openhome.cc/Gossip/Java/MethodConstructorReference.html
--
良葛格学习笔记
http://openhome.cc
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 110.26.106.200
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1513133758.A.20D.html
※ 编辑: JustinHere (110.26.106.200), 12/13/2017 10:56:50
1F:推 kyleJ: 感谢良葛格回应 我这阵子都在注意网站上ECMAScript教学的 12/13 20:43
2F:→ kyleJ: 更新XD 12/13 20:43