※ 引述《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